2025-11-20 05:29:51
0的补码符号位会变,是因为正0和负0在二进制里都算0,但符号位不同。正0符号位是0,负0符号位是1。就像天平两边重量一样,虽然都是0,但正负号不同。计算机用补码表示负数时,符号位会变,这样0就有两种写法,正0是0000,负0是1000。
这个现象是因为补码计算规则决定的。当用1减0时,符号位会变。比如8位二进制里,正0是00000000,负0是11111111。符号位从0变1是因为补码把负数表示成“反码加1”。比如-0的反码是11111111,加1后变成00000000,但符号位保留1,所以负0是11111111。这样正负0的符号位不同,但数值都等于0。就像用1减0时,符号位会进位,导致一位变1,符号位跟着变。所以0的补码有两种写法,符号位不同,但实际值都是0。
本题链接: