int a = 152; a = a & 0xff; 这样的&运算,如何给它还原成152?

来源:学生作业学帮网 编辑:学帮网 时间:2024/04/29 21:52:49

int a = 152; a = a & 0xff; 这样的&运算,如何给它还原成152?

这个例子有些奇怪,0xff的十进制值是255,结果也是152!
C语言&符号是与运算,也就是二进制位相与,0与0得0,1与1得1,0与1得0,.也就是说把152和0xff都转换为二进制数,在计算机的内存里参加与预算.
0xff的二进制为11111111
152的二进制为10011000
0xff与152的运算10011000
2^7+2^4+2^3=128+16+8 结果就是152