Login light

带符号最高位为符号位:

0:正数

1:负数

先灌输几个概念,学过通信原理的应该都知道

原码:正数是二进制本身,负数是它绝对值,加上最高位的符号位

5:0000 0000 0000 0000 0000 0000 0000 0101

-5:1000 0000 0000 0000 0000 0000 0000 0101

反码:正数的反码与原码相同,负数的反码为对该数的原码除符号位外各位取反

5:0000 0000 0000 0000 0000 0000 0000 0101

-5:1111 1111 1111 1111 1111 1111 1111 1010

补码:正数的补码与原码相同,负数的补码为对该数的原码除符号位外各位取反,然后加1

5:0000 0000 0000 0000 0000 0000 0000 0101

-5:1111 1111 1111 1111 1111 1111 1111 1011

所以-5在32位系统内存中保存为:0xfffffffb