奇偶校验
奇偶校验 | |
---|---|
术语名称 | 奇偶校验 |
英语名称 | parity check |
奇偶校验位 | |
---|---|
术语名称 | 奇偶校验位 |
英语名称 | parity bit |
别名 | 校验位, check bit |
奇偶校验(parity check)是一种构造检错码的方法,其思想是将一个奇偶校验位(parity bit)/校验位(check bit)加入一段二进制序列,使得整个序列保持为奇数个 1 (称为奇校验位(odd parity bit))或偶数个 1 (称为偶校验位(even parity bit))。
算法
生成校验位
向一段二进制数据中添加一位,其内容为这段二进制数据的所有位的按位异或(如果是奇校验,需要再取反),可保证全部数据中 1 出现的次数固定的奇偶性。
校验
将得到的二进制数据和校验位全部进行位异或,则无数据错误时应当得到 0 (如果是偶校验;如果是奇校验,为 1 )。
校验能力
可校验一位上发生的错误,或者是奇数位错误,如果发生偶数位错误,无法指出错误。因此通常适用于反转发生在单独的 1 个位,而积累 2 个位同时反转较难的情况。
应用
奇偶校验位可以添加于各种二进制编码。
在 BCD 码基础上添加奇偶校验位的编码称为奇偶校验码。
ASCII 的 7 位编码通过 8 位传输时,其最高位通常使用一个奇偶校验码。
常见字符编码 | |
---|---|
早期编码 | 电报码、 BCD 、ASCII (ISO 646) |
ISO 8859 | ISO 8859-1 、 ISO 8859-2 、…… |
各国国家标准及代码页 | GB 2312 、 GBK 、 GB 18030 |
Unicode / ISO 10646 | UTF-7 、 UTF-8、 UTF-16 、 UTF-32 |
数的内部表示 | |
---|---|
十进制数的二进制编码 | BCD 、 Gray 码 、 奇偶校验码 、 字符表示 |
有符号整数的机器数 | 原码、反码、补码、移码 |
有符号小数的机器数 | 定点数、浮点数(IEEE 754) |