海明校验码
设计思路:分组校验->多个校验位->校验位标注出错位置
【将信息位分组进行偶校验->多个校验位】
对于n个有效信息位 分为k个分组 每个分组进行偶校验
(对/错,错在哪)
K个bit可以呈现种状态
| n | 信息位 |
|---|---|
| k | 校验位 |

【信息位+校验位】【共N+K位】
n+k位中任意一个出错的状态,再加上一个任意一位都不出错的状态 共【n+k+1】种状态 (只能修正只有一位出错的情况,不能修正多个位出错的情况)
【
与权值上升关系相符


【求校验位的值】

- 写出信息位所在的海明位号
二进制
- 写出的二进制数字由高到低依次代表与哪个校验位有关(即011代表与P3无关,与P2P1有关)
- 选出所有【与校验位有关】的【海明位号对应的信息位数值】,进行异或运算
- 偶数个1的异或结果为0,奇数个1的异或结果为1
(即海明位拆成二进制,每个不同的权重位用一个偶校验)
【异或】相同取0,不同取1,相当于偶校验

【纠错】
异或结果为0,代表没有出错,为1代表有问题
校验位是对应的三个信息位的异或结果,因此想要纠错只要让校验位与对应的三个信息位再进行一次异或运算。
海明码具有一个bit位的纠错能力,两个bit位的检错能力

全校验位

总结
循环冗余校验码(CRC码)*
Cyclic Redundancy Check
定点数的表示和运算
定点数的表示
无符号数

没有符号位,整个机器字长的全部二进制位均为数值位
有符号数
| 0 | + |
|---|---|
| 1 | - |
定点表示
小数点:隐含存储(定点数:事先约定小数的位置;浮点数:按规则浮动)