#include<stdio.h>main(){int a=3,b=-2;a=a^b;printf("%d",a);}结果为什么是-3而不是-1a=00000011^b=10000010||a=10000001a=-1不对吗?为什么运行是-3啊?
32位吧 异或同取0,不同取1,符号位就是-1,按你那上面不也是1.........00000011 -3啊
补码是11111110与00000011答案是11111101