说明
同一个数,其负数和正数相加的结果要为 0,比如数字 7,-7 + 7 = 0,所以 -7 = 0 - 7,用二进制表示就是 -7 = 0000 - 0111 = 1001 。
另一方面,7 的二进制表示 0111,0111 的反码是 1000,补码(反码+1)是 1001,所以 -7 的二进制表示是 1001,和上面的结果完全一致。
从 CPU 的角度看,在 8 bit 数据中,对于一个二进制数 11111001,它可以表示十进制正整数 249,也可以表示十进制负整数 -7,
CPU 在运算的时候不管它是正数还是负数,运算结果总是对的。
有符号负整数编码示例
十进制
二进制
十六进制
-2147483648
10000000 00000000 00000000 00000000
80000000
-1073741824
11000000 00000000 00000000 00000000
C0000000
-536870912
11100000 00000000 00000000 00000000
E0000000
-268435456
11110000 00000000 00000000 00000000
F0000000
-134217728
11111000 00000000 00000000 00000000
F8000000
-67108864
11111100 00000000 00000000 00000000
FC000000
-33554432
11111110 00000000 00000000 00000000
FE000000
-16777216
11111111 00000000 00000000 00000000
FF000000
-8388608
11111111 10000000 00000000 00000000
FF800000
-4194304
11111111 11000000 00000000 00000000
FFC00000
-2097152
11111111 11100000 00000000 00000000
FFE00000
-1048576
11111111 11110000 00000000 00000000
FFF00000
-524288
11111111 11111000 00000000 00000000
FFF80000
-262144
11111111 11111100 00000000 00000000
FFFC0000
-131072
11111111 11111110 00000000 00000000
FFFE0000
-65536
11111111 11111111 00000000 00000000
FFFF0000
-32768
11111111 11111111 10000000 00000000
FFFF8000
-16384
11111111 11111111 11000000 00000000
FFFFC000
-8192
11111111 11111111 11100000 00000000
FFFFE000
-4096
11111111 11111111 11110000 00000000
FFFFF000
-2048
11111111 11111111 11111000 00000000
FFFFF800
-1024
11111111 11111111 11111100 00000000
FFFFFC00
-512
11111111 11111111 11111110 00000000
FFFFFE00
-256
11111111 11111111 11111111 00000000
FFFFFF00
-128
11111111 11111111 11111111 10000000
FFFFFF80
-64
11111111 11111111 11111111 11000000
FFFFFFC0
-32
11111111 11111111 11111111 11100000
FFFFFFE0
-16
11111111 11111111 11111111 11110000
FFFFFFF0
-8
11111111 11111111 11111111 11111000
FFFFFFF8
-4
11111111 11111111 11111111 11111100
FFFFFFFC
-2
11111111 11111111 11111111 11111110
FFFFFFFE
-1
11111111 11111111 11111111 11111111
FFFF FFFF
友情链接:
Copyright © 2022 卡塔尔世界杯排名_98世界杯决赛 - dylfjc.com All Rights Reserved.