组合按位和与补运算符

赛桑卡普(Sai Sankalp)

在下面的代码中,由于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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章