求负数的补码,先写出正数补码,各位取反,末尾加1,就是以其对应的负数补码
8位:无符号0-255,有符号-128 127
16位:无符号0-65535,有符号-32768 32767
32位:无符号0-4294967295,有符号-2147483648 2147483647
64位:无符号18446744073709551615,有符号-9223372036854775808 9223372036854775807
8位
无符号表示范围0-255
1111 1111 255 FF
有符号(最高位是符号位)-128 127
1000 0000 -128 80 (各位取反末尾加1)
1000 0001 -127
1000 0010 -126
1111 1111 -1 FF
0000 0000 0 0
0000 0001 1 1
0111 1111 127 7F
1000 0000 -128 80 (各位取反末尾加1)
1000 0001 -127
1000 0010 -126
1111 1111 -1 FF
0000 0000 0 0
0000 0001 1 1
0111 1111 127 7F
16位
无符号表示范围0-65535
1111111111111111 65535 FFFF
无符号表示范围0-65535
1111111111111111 65535 FFFF
有符号表示范围-32768 32767
10000000 00000000 -32768 8000
11111111 11111110 -2 FFFE
11111111 11111111 -1 FFFF
00000000 00000000 0 0
01111111 11111111 32767 7FFF
10000000 00000000 -32768 8000
11111111 11111110 -2 FFFE
11111111 11111111 -1 FFFF
00000000 00000000 0 0
01111111 11111111 32767 7FFF
32位
无符号表示范围0-4294967295
11111111111111111111111111111111 4294967295 FFFFFFFF
无符号表示范围0-4294967295
11111111111111111111111111111111 4294967295 FFFFFFFF
有符号表示范围-2147483648 2147483647
10000000000000000000000000000000 -2147483648 80000000
11111111111111111111111111111110 -2 FFFFFFFE
11111111111111111111111111111111 -1 FFFFFFFF
00000000000000000000000000000000 0 0
01111111111111111111111111111111 2147483647 7FFFFFFF
64位
无符号表示范围18446744073709551615
1111111111111111111111111111111111111111111111111111111111111111 18446744073709551615 FFFFFFFFFFFFFFFF
无符号表示范围18446744073709551615
1111111111111111111111111111111111111111111111111111111111111111 18446744073709551615 FFFFFFFFFFFFFFFF
有符号表示范围
1000000000000000000000000000000000000000000000000000000000000000 -9223372036854775808 8000000000000000
1111111111111111111111111111111111111111111111111111111111111110 -2 FFFFFFFFFFFFFFFE
1111111111111111111111111111111111111111111111111111111111111111 -1 FFFFFFFFFFFFFFFF
0000000000000000000000000000000000000000000000000000000000000000 0 0
0111111111111111111111111111111111111111111111111111111111111111 9223372036854775807 7FFFFFFFFFFFFFFF
1000000000000000000000000000000000000000000000000000000000000000 -9223372036854775808 8000000000000000
1111111111111111111111111111111111111111111111111111111111111110 -2 FFFFFFFFFFFFFFFE
1111111111111111111111111111111111111111111111111111111111111111 -1 FFFFFFFFFFFFFFFF
0000000000000000000000000000000000000000000000000000000000000000 0 0
0111111111111111111111111111111111111111111111111111111111111111 9223372036854775807 7FFFFFFFFFFFFFFF