奇偶校验
奇偶校验 | |
---|---|
术语名称 | 奇偶校验 |
英语名称 | 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 位传输时,其最高位通常使用一个奇偶校验码。
常见字符集与字符编码 | |||
---|---|---|---|
原始编码 | 电报码( Morse 电码) | BCD 码、 IBM 卡编码 | - |
早期二进制码位分配的编码 | - | BCDIC、EBCDIC | ASCII (ISO 646-US 、 ISO 646-IRV) |
地区字符编码 | - | - | ISO 8859 : ISO 8859-1 、 ISO 8859-2 、…… |
- | - | EUC 类编码,含第一个国标字符集 GB 2312 , 其编码 EUC-CN(IBM 代码页 936)也称 GB 2312 | |
多地区字符编码通过切换串兼容 | - | - | 通用框架: ISO 4873、ISO 2022 ,含 ISO-2022-CN ISO-2022-CN 的简化: HZ 编码 |
无需切换串的自同步编码 | - | UTF-EDCBIC | 字符集 Unicode / ISO 10646 ,有常见编码 UTF-8、 UTF-16 、 UTF-32 及废弃编码 UTF-1 、 UTF-7 |
地区字符编码扩充 | - | - | 国标系列后续:GBK(微软代码页 936)、 GB 18030(微软代码页 54936) |
数的内部表示 | ||
---|---|---|
十进制数的二进制编码 | BCD 、 Gray 码 、 奇偶校验码 、 字符表示 | - |
整数的机器数 | 定点整数:无符号定点整数、有符号定点整数 | 定点数(有符号:原码、反码、补码、移码) |
小数的机器数 | 定点小数 | |
浮点数(IEEE 754) | 浮点数 |