gpt4 book ai didi

c - 请解释输出

转载 作者:太空宇宙 更新时间:2023-11-04 00:27:05 24 4
gpt4 key购买 nike

#include<stdio.h>

int main(void)
{
int a=-3,b=5,c;
c=a|b;
printf("%d ",c);
c=a&b;
printf("%d ",c);
}

输出是-3 5,请解释一下是怎么回事?

最佳答案

要理解输出,您需要熟悉 Two's Complement用于表示负二进制数。从 +x 到 -x 的转换实际上非常简单:补码所有位并加一。现在假设您的整数长度为 8 位(足以检查 5 和 -3):

5: 0000 0101
3: 0000 0011 => -3: 1111 1101

现在让我们看一下按位或:

1111 1101 | 0000 0101 = 1111 1101

正是-3的代表

现在按位与:

1111 1101 & 0000 0101 = 0000 0101

正好是5的二进制表示

关于c - 请解释输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5650191/

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