c语言中int a=1,b=3;a^b的值是? 为什么是2

来源:百度知道 编辑:UC知道 时间:2024/06/03 19:18:34

a,b在计算机中的二进制表示是
a=00000001
b=00000011
(实际上int型是4字节32位,这里方便书写和理解,只写了一个字节8位)
然后执行异或运算,就是对应位上不同结果才为1
所以
a^b=00000010
转化为十进制就是2

转为二进制 问题就很明晰了
a=0001^ b=0011 就是 0010 位异或 只有一个为真时才为真 所以是2咯
如果是位或 则是 0011 3
如果是位与 则是 0001 1

没试过,应该是1吧,
刚试了,真的是2```