对于计算机来说,数值存储的最小单位是字节,一个字节有8位,二进制就是存在这些位上的。一个字节八位:XXXXXXXX,存个2进制的10,在内存里就是00000010,高位也被写成0的。再说,这样补零,从硬件上,人们也好接受。
你的注释代码里有打印出sizeof(int),值是多少,就有多少再乘以8位(1)10-->(00000001)2-->取反(11111110)2负数,补码取反加1,即为-2
不知道你说的补零是在什么情况下?