最高位为符号位(0正1负),其余位为绝对值:
[X]原={X2n−1+∣X∣0≤X<2n−1−2n−1<X≤0
8 位原码范围:−127∼+127,0 有两种表示(+0 和 -0)。
正数与原码相同,负数符号位为1,数值位按位取反:
[X]反={X2n−1+XX≥0X<0
计算机中最常用的整数表示法:
[X]补={X2n+XX≥0X<0
关键性质:
- 补码 = 反码 + 1(负数)
- 0 的补码唯一
- n 位补码范围:−2n−1∼2n−1−1
- 补码加减法统一为加法
快速求补码:从最低位到第一个1保持不变,其余位取反。
补码的符号位取反,用于浮点数的阶码表示:
[X]移=2n−1+X
移码保持了数值的大小顺序,便于比较大小。
[X+Y]补=[X]补+[Y]补
符号位参与运算,进位自然丢弃。
[X−Y]补=[X]补+[−Y]补
其中 [−Y]补 为 [Y]补 的各位取反加1。
单符号位法:
V=As⊕Bs⊕Ss
- V=0:无溢出
- V=1:溢出
双符号位法(变形补码):
- Ss1Ss2=00:结果为正,无溢出
- Ss1Ss2=01:正溢出
- Ss1Ss2=10:负溢出
- Ss1Ss2=11:结果为负,无溢出
原码一位乘法:
- 符号位单独处理:Ps=As⊕Bs
- 数值部分:被乘数加或不加(根据乘数位),然后右移
补码一位乘法(Booth 算法):
根据乘数末两位的差值决定操作:
| Yi | Yi−1 | 操作 |
|---|
| 0 | 0 | 右移一位 |
| 0 | 1 | 加 [X]补,右移一位 |
| 1 | 0 | 加 [−X]补,右移一位 |
| 1 | 1 | 右移一位 |
浮点数格式:
(−1)S×1.M×2E−bias
| 参数 | 单精度(32位) | 双精度(64位) |
|---|
| 符号位 S | 1 位 | 1 位 |
| 阶码 E | 8 位 | 11 位 |
| 尾数 M | 23 位 | 52 位 |
| 偏置值 | 127 | 1023 |
| 阶码范围 | 1~254 | 1~2046 |
| 规格化范围 | 2−126∼2127 | 2−1022∼21023 |
| 阶码 E | 尾数 M | 含义 |
|---|
| 全0 | 全0 | ±0 |
| 全0 | 非零 | 非规格化数 |
| 全1 | 全0 | ±∞ |
| 全1 | 非零 | NaN |
当阶码全0、尾数非零时,表示非规格化数:
(−1)S×0.M×21−bias
非规格化数填补了0和最小规格化数之间的间隙,实现渐进下溢。
单精度有效位数约 7 位十进制,双精度约 15~16 位十进制。
机器 epsilon:
ϵsingle=2−23≈1.19×10−7
ϵdouble=2−52≈2.22×10−16
- 对阶:小阶向大阶看齐,尾数右移
- 尾数加减:对阶后的尾数相加减
- 规格化:左规或右规使尾数满足 1.M 格式
- 舍入:按舍入模式处理超出位
- 溢出判断:检查阶码是否溢出
| 模式 | 说明 |
|---|
| 就近舍入 | 舍入到最接近的可表示值(默认) |
| 向0舍入 | 截断 |
| 向+∞舍入 | 向上取整 |
| 向-∞舍入 | 向下取整 |
就近舍入的”银行家舍入”规则:当恰好在中间时,舍入到偶数。
乘法:
(−1)S1⊕S2×(1.M1×1.M2)×2(E1+E2−bias)
除法:
(−1)S1⊕S2×(1.M1÷1.M2)×2(E1−E2+bias)
在数据位后添加1位校验位,使1的个数为奇数(奇校验)或偶数(偶校验)。
- 只能检测奇数个错误
- 不能纠正错误
- 检错率:1−2−n(对于 n 位数据)
在数据位之间插入 r 个校验位,满足:
2r≥m+r+1
其中 m 为数据位数,r 为校验位数。
校验位位置:放在 2i 的位置(第1、2、4、8…位)。
编码步骤:
- 确定校验位数 r
- 将数据位填入非 2i 位置
- 每个校验位覆盖其位置二进制表示中对应位为1的所有位
- 计算各校验位的值
纠错能力:SEC-DED(单纠错双检错)
将数据视为多项式,用生成多项式除取余数作为校验码。
编码过程:
- 数据 M(x) 左移 r 位(r 为生成多项式阶数)
- 用生成多项式 G(x) 模2除法取余数 R(x)
- 发送 M(x)⋅xr+R(x)
检错能力:
- 所有单比特错误
- 所有双比特错误(生成多项式包含 (x+1) 因子时)
- 所有奇数个比特错误
- 所有长度 ≤r 的突发错误
| 校验码 | 冗余位 | 检错能力 | 纠错能力 | 应用 |
|---|
| 奇偶校验 | 1位 | 奇数个错 | 无 | 内存ECC基础 |
| 海明码 | ⌈log2(m+r+1)⌉ | 2位错 | 1位错 | ECC内存 |
| CRC | r位 | 突发错误 | 无(可配合重传) | 网络通信 |