作业帮 > 综合 > 作业

pascal语言中xor是

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/08 17:02:29
pascal语言中xor是
我已经明白要先转化成二进制、比如、23 or 2 xor 5、23=10111、2=10、5=101、然后要判断对应数字相同或者不同、相同为假(0)、不同为真(1)、但是是从左到右还是从右到左啊、而且是什么顺序呢、or有什么作用呢、请说明并以这题为例题、写出解答过程、谢谢!
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.
再问: 10111 or 00010 -------------- 10111 有一个为真,即为真,其他为假。1 or 1=1,0 or 1=1,1 or 0=0,0 or 0=0。我觉得这个有点不对劲、从来没有看到过、这个依据是什么呢、‘有一个为真,即为真,其他为假’貌似不符啊、
再答: 1 or 0=1,不小心打错了,类似的运算有四个:and ,or,not,xor; and运算,一个为假,即为假,其他为真:1 and 1=1, 1 and 0=0, 0 and 1=0, 0 and 0=0。 or运算,有一个为真,即为真,其他为假。1 or 1=1, 1 or 0=1,0 or 1=1,0 or 0=0。 not运算,即取反,not 1=0,not 0=1。 xor运算,两者相同即为假,不同即为真。1 xor 1=0,1 xor 0=1,0 xor 1=1,0 xor 0=0。 就是这些了,竖式计算,上下对应,1为真,0为假,不懂继续问。
再问: 明白了、谢谢你啊、、