gpt4 book ai didi

组合按位与补运算符

转载 作者:太空宇宙 更新时间:2023-11-04 06:19:35 25 4
gpt4 key购买 nike

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

关于组合按位与补运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38167778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com