gpt4 book ai didi

补充 32 位数据

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

int a=1;

// a=1 in binary representation 0000 0000 0000 0000 0000 0000 0000 0001

int b =~a; 1111 1111 1111 1111 1111 1111 1111 1110

printf("%d",b)

输出 = -2。

为什么输出是-2

32 位——0-31。

第 31 位是有符号位。 signed bit = 0 如果 no 是 +ve,1 如果 no 是 -ve。

由于 1 移动到第 31 位。如果有符号位为 1 则为 no -ve。那为什么值2

我的理解对吗?如果不指导我

最佳答案

如何计算 two's complement

首先,我们翻转所有位,然后将结果加 1。这样做你会得到 2,但是因为 MSB 是 1,所以结果是负数:

~0000000111111110,翻转得到00000001,现在加1:00000010

关于补充 32 位数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22381532/

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