n位定点小数、整数的取值范围
码制 | 定点整数 | 定点小数 |
---|---|---|
原码 | − ( 2 n − 1 − 1 ) -(2^{n-1}-1) −(2n−1−1) ~ ( + 2 n − 1 − 1 ) ( +2^{n-1}-1) (+2n−1−1) | − ( 1 − 2 − ( n − 1 ) ) -(1-2^{-(n-1)}) −(1−2−(n−1)) ~ + ( 1 − 2 − ( n − 1 ) ) +(1-2^{-(n-1)}) +(1−2−(n−1)) |
反码 | − ( 2 n − 1 − 1 ) -(2^{n-1}-1) −(2n−1−1) ~ ( + 2 n − 1 − 1 ) (+ 2^{n-1}-1) (+2n−1−1) | − ( 1 − 2 − ( n − 1 ) ) -(1-2^{-(n-1)}) −(1−2−(n−1)) ~ + ( 1 − 2 − ( n − 1 ) ) +(1-2^{-(n-1)}) +(1−2−(n−1)) |
补码 | − 2 n − 1 -2^{n-1} −2n−1 ~ + ( 2 n − 1 − 1 ) (2^{n-1}-1) (2n−1−1) | − 1 -1 −1 ~ + ( 1 − 2 − ( n − 1 ) ) +(1-2^{-(n-1)}) +(1−2−(n−1)) |
移码 | − 2 n − 1 -2^{n-1} −2n−1 ~ + ( 2 n − 1 − 1 ) (2^{n-1}-1) (2n−1−1) | − 1 -1 −1 ~ + ( 1 − 2 − ( n − 1 ) ) +(1-2^{-(n-1)}) +(1−2−(n−1)) |
eg: n =3 的定点整数
正数部分 | 负数部分 |
---|---|
000 | 100 |
001 | 101 |
010 | 110 |
011 | 111 |
- 正数部分
000B ~ 011B
0D ~ 3 D - 负数部分
100B ~111B
− 0 -0 −0D ~ − 3 -3 −3D
11 = 100 - 1 = ( 2 3 − 1 − 1 ) (2^{3-1}-1) (23−1−1) = ( 2 2 − 1 ) (2^{2}-1) (22−1)
补码:-4 的补码是100 是人为规定的,也就是 100B = -4,(把符号位算进去)
eg: n =3 的定点小数
正数部分 | 负数部分 |
---|---|
000 | 100 |
001 | 101 |
010 | 110 |
011 | 111 |
- 正数部分
0.00B ~ 0.11B 1
0D ~ 0.75 D - 负数部分
1.00B ~ 1.11B
− 0 -0 −0 D ~ − 0.75 -0.75 −0.75D
0.11 = 1.00 - 0.01 = 1-
(
2
−
(
3
−
1
)
)
(2^{-(3-1)})
(2−(3−1)) = 1-
(
2
−
2
)
(2^{-2})
(2−2)
补码:-1 的补码是100 是人为规定的,也就是 1.00B = -1D(把符号位算进去)
B的含义
二进制是Binary,简写为B
八进制是Octal,简写为O
十进制为Decimal,简写为D
十六进制为Hexadecimal,简写为H ↩︎