a是个int,它有4个字节,写全了是00 00 00 55那么取反之后不是FF FF FF AA吗如果是做或运算,a和b的高字节全是0,或完也是0呀做异或也一样,不一样是1,一样是0,那么高位全一样,怎么会凭空冒出1来你要理解每个运算的本质到底是什么,不要只看表面这是数学,不是脑筋急转弯
a就是取反啊,取反的值和a的值之和是0xffffffff,即32位最大值。因为a=55,所以a就是0xffffffaa