偏移二进制码
以 4 位偏移二进制 为例(实际芯片中常见 12 位、14 位等,原理相同),一步步拆解:
1. 确定 “偏移量”
4 位二进制能表示 0000 ~ 1111
(共 16 个编码)。
为了让 “中间码” 对应 0,偏移量 = 编码总数的一半 → 2(n−1)(n 是位数)。
4 位时,偏移量 = 23=8 → 对应二进制 1000
。
2. 编码与数值的对应关系
偏移二进制的数值计算公式:实际值=编码值−偏移量
结合 4 位编码,逐个对应:
偏移二进制编码 | 编码值(十进制) | 减去偏移量(8) | 实际表示的数值 | 说明 |
---|---|---|---|---|
0000 | 0 | 0−8=−8 | -8 | 最小负数 |
0001 | 1 | 1−8=−7 | -7 | |
0010 | 2 | 2−8=−6 | -6 | |
0011 | 3 | 3−8=−5 | -5 | |
0100 | 4 | 4−8=−4 | -4 | |
0101 | 5 | 5−8=−3 | -3 | |
0110 | 6 | 6−8=−2 | -2 | |
0111 | 7 | 7−8=−1 | -1 | 负数值到 0 的过渡 |
1000 | 8 | 8−8=0 | 0 | 中间码,对应 0 值 |
1001 | 9 | 9−8=1 | 1 | 正数值起始 |
1010 | 10 | 10−8=2 | 2 | |
1011 | 11 | 11−8=3 | 3 | |
1100 | 12 | 12−8=4 | 4 | |
1101 | 13 | 13−8=5 | 5 | |
1110 | 14 | 14−8=6 | 6 | |
1111 | 15 | 15−8=7 | 7 | 最大正数 |