对于整数 a & 0xffffffff 可以表示为二进制表示 print(a) 查看
对于 正整数 a & 0xffffffff 二进制不变
对于 负整数 a & 0xffffffff 二进制变成补码 即 全部取反并加1
a = -2
x = 0xffffffff ,还原 print (~((a & x)^x)) 还是 -2
b = (a & x) , b 表示a得补码 即 -2 得补码
~(b^x) , 补码再与0xffffffff 取非 得到 -2,否则不是-2
判断为负值 b<=0x7fffffff为正
b>0x7fffffff 为负 因为最高位为1,即符号位为1