数据信息的表示
数据表示¶
定点数¶
数字 \(x_{n}x_{n-1}\dots x_{1}x_{0}\)
移码:\([x]_{移} = 2^n + x\)
与 \([x]_{补}\) 的区别:符号位相反
浮点数¶
规格化:
IEEE754:
校验码¶
数据校验¶
- 码距:两个编码对应二进制位不同的个数。
- 编码集的码距:任意两个码字的最小码距
- 校验码的目的:扩大码距
- 类型:
- 奇偶校验码:只能检错
- 海明校验码:纠错 + 检错
- 循环冗余校验码(CRC):纠错 + 检错
奇偶校验码¶
- 偶校验:异或和为 0 则无错
- 奇校验:异或和为 1 则无错
- 只能检验奇数个错误
- 最小码距为 2
海明码¶
- \(N = K + r \le 2^r - 1\)
- \((N, K)\) 为海明码
- 可以检验 1 位错的最小码距为 3
为了能检测两个错误,增加一位校验 \(P_{j+1}\),放在最高位,等于所有位的异或和。
解题步骤:
CRC¶
- \(N = k + r \le 2^r - 1\)
- \(r + 1\) 位生成多项式 \(G(x)\)
- 有效信息 \(M(x)\) ,\(R(x) = M(x) \times 2^r \bmod{G(x)}\) ,CRC 码为 \(M(x) || R(x)\)
- 检验:\(CRC \equiv 0\pmod{G(x)}\)
- 检错: