int a = 152; a = a & 0xff; 这样的&运算,如何给它还原成152?
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/06 17:25:38
![int a = 152; a = a & 0xff; 这样的&运算,如何给它还原成152?](/uploads/image/z/5175581-5-1.jpg?t=int+a+%3D+152%3B+a+%3D+a+%26+0xff%3B+%E8%BF%99%E6%A0%B7%E7%9A%84%26%E8%BF%90%E7%AE%97%2C%E5%A6%82%E4%BD%95%E7%BB%99%E5%AE%83%E8%BF%98%E5%8E%9F%E6%88%90152%3F)
int a = 152; a = a & 0xff; 这样的&运算,如何给它还原成152?
int a = 152; a = a & 0xff; 这样的&运算,如何给它还原成152?
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