0xFFFFFFFF 为什么表示-1

负数的补码是:原码按位取反再加一
逆序求原码:
-1的补码是FFFF=1111 1111 1111 1111

减一:
1111 1111 1111 1110
按位取反(除符号位):

1000 0000 0000 0001

最高位1表示符号位,"0"表示正数"1"表示负数

=========补充

原码是不用求的。原码就是没有修改过的嘛。对于signed int,第一位表示的就是符号位。于是-1就表示为1000 0000 0000 0001,但是在计算机中,signed int 我们用补码表示。即原码除符号位的所有位取反加1,于是-1表示为:1111 1111 1111 1111.

你应该问的是为什么-1表示为:1111 1111 1111 1111。

你可能感兴趣的:(FF)