谁能讲下为什么C语言二进制高位要补零

和一字节等于八位有关系吗
2025-03-21 03:53:36
推荐回答(3个)
回答1:

对于计算机来说,数值存储的最小单位是字节,一个字节有8位,二进制就是存在这些位上的。一个字节八位:XXXXXXXX,存个2进制的10,在内存里就是00000010,高位也被写成0的。再说,这样补零,从硬件上,人们也好接受。

回答2:

你的注释代码里有打印出sizeof(int),
值是多少,就有多少再乘以8位
(1)10
-->
(0000
0001)2
-->
取反
(1111
1110)2
负数,补码取反加1,即为-2

回答3:

不知道你说的补零是在什么情况下?