c菜鸟问题2

来源:百度知道 编辑:UC知道 时间:2024/06/01 04:01:09
-32768
1000 0000 0000 0000这个1不是符号位吗?其余为0,怎么是-32786?

-32768
32788二进制表示为1000 0000 0000 0000
把它取反为01111 1111 1111 1111
然后取反后再加一1000 0000 0000 0000
即-32768为1000 0000 0000 0000

这是-32768的补码。负数补码转换为其真值时,将负数补码按位求反,末位加1,即可得该负数真值的绝对值。
求反得:0111 1111 1111 1111
末位加1得:1000 0000 0000 0000(32768)

对的,现在PC机里的规定就是楼上同志们说的,有的大型机表示-0(负0)

这个是补码 第一位是符号位

因为是补码。