pascal语言中xor是 我已经明白要先转化成二进制、比如、23 or 2 xor 5、23=10111、2=10、5=101、然后要判断对应数字相同或者不同、相同为假(0)、不同为真(1)、但是是从左到右还是从右到左啊
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/22 15:52:19
pascal语言中xor是 我已经明白要先转化成二进制、比如、23 or 2 xor 5、23=10111、2=10、5=101、然后要判断对应数字相同或者不同、相同为假(0)、不同为真(1)、但是是从左到右还是从右到左啊
pascal语言中xor是
我已经明白要先转化成二进制、比如、23 or 2 xor 5、23=10111、2=10、5=101、然后要判断对应数字相同或者不同、相同为假(0)、不同为真(1)、但是是从左到右还是从右到左啊、而且是什么顺序呢、or有什么作用呢、请说明并以这题为例题、写出解答过程、谢谢!
pascal语言中xor是 我已经明白要先转化成二进制、比如、23 or 2 xor 5、23=10111、2=10、5=101、然后要判断对应数字相同或者不同、相同为假(0)、不同为真(1)、但是是从左到右还是从右到左啊
xor异或运算的本质实际上就是2进制的不进位加法,运算顺序遵循数学法则,如果没括号,显然是从左往右算,比如23 or 2 xor 5,先算23 or 2 ,再算ans xor 5,再说一下如何计算:
23 or 2:转化成2进制,就是10111 or 10,竖式计算,右对齐,空缺处补0,即:
or 运算:有一个为真,即为真,其他为假.1 or 1=1,0 or 1=1,1 or 0=0,0 or 0=0.
10111
or 00010
--------------
10111 所以结果为10111,即23;
xor运算:两者相同即为假,不同即为真,不理解的话,就当是做2进制不进位加法;
10111
xor 00101
---------------
10010 所以结果为10010,即18.