在下面的代码中,由于x的按位补码是-1(使用2的补码),而y是2,所以我期望z的值为零,但是我在运行程序时将z的值设为2。谁能告诉我我要去哪里错了?
代码
#include <stdio.h>
int main()
{
int x = 0, y = 2;
int z = ~x & y;
printf("%d\n", z);
}
按位恭维0
都是1
这么AND
用它荷兰国际集团为您提供了其他完全相同的输入AND
,在这种情况下2
。
假设节省了8位空间:
0 = 00000000
~0 = 11111111
2 = 00000010
~0&2 = 00000010
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句