奇偶校验位
编辑奇偶校验位或校验位是添加到二进制代码字符串中的一位。 奇偶校验位是错误检测代码的一种简单形式。 奇偶校验位通常应用于通信协议的最小单位,通常是 8 位八位字节(字节),尽管它们也可以单独应用于整个消息位串。
奇偶校验位确保字符串中 1 位的总数是偶数或奇数。 因此,奇偶校验位有两种变体:偶校验位和奇校验位。 在偶校验的情况下,对于给定的一组位,其值为 1 的位被计数。 如果该计数为奇数,则奇偶校验位值设置为 1,使整个集合(包括奇偶校验位)中出现 1 的总次数为偶数。 如果给定的一组位中 1 的个数已经是偶数,则奇偶校验位的值为 0。在奇校验的情况下,编码相反。 对于给定的一组位,如果值为 1 的位的数量是偶数,则奇偶校验位的值设置为 1,使得整个组(包括奇偶校验位)中 1 的总数为奇数。 如果值为 1 的位的计数是奇数,则计数已经是奇数,因此奇偶校验位的值为 0。偶校验是循环冗余校验 (CRC) 的一种特殊情况,其中 1 位 CRC 由多项式 x+1 生成。
奇偶校验
编辑在数学中,奇偶校验可以指整数的偶数或奇数,当以二进制形式编写时,只需检查其最低有效位即可确定。
在信息技术中,奇偶校验是指在给定任何一组二进制数字的情况下,值为 1 的那些位数的偶数或奇数。 因为奇偶校验是由每个位的状态决定的,所以奇偶校验的这种特性——依赖于所有位,如果任何一位发生变化,它的值从偶校验变为奇校验——允许它在错误检测和纠正方案中使用 .
在电信中,某些协议提到的奇偶校验用于错误检测。 传输介质在两端点被预设为同意奇校验或偶校验。 对于准备好传输的每个位串(数据包),发送方计算其奇偶校验位,零或一,以使其符合商定的奇偶校验,偶数或奇数。 该数据包的接收方首先检查整个数据包的奇偶校验是否符合预设协议,然后,如果该数据包中存在奇偶校验错误,则请求重传该数据包。
在计算机科学中,RAID 中的奇偶校验条带或奇偶校验磁盘提供纠错功能。 奇偶校验位以每 n 位一个奇偶校验位的速率写入,其中 n 是阵列中的磁盘数。 当发生读取错误时,错误区域中的每个位都从其 n 位集合中重新计算。 这样,使用一个奇偶校验位就可以为从一位大小到一个磁盘大小的区域创建冗余。 请参阅下面的§ 独立磁盘冗余阵列。
在电子产品中,使用奇偶校验对数据进行转码非常有效,因为 XOR 门输出的内容相当于创建偶校验的校验位,并且 XOR 逻辑设计可以轻松扩展到任意数量的输入。 XOR 和 AND 结构构成了大部分集成电路。
错误检测
编辑如果奇数位(包括奇偶校验位)被错误传输,则奇偶校验位将不正确,从而表明传输中发生了奇偶校验错误。 奇偶校验位只适用于检测错误; 它无法纠正任何错误,因为无法确定哪个特定位已损坏。 数据必须完全丢弃,并从头开始重新传输。 因此,在嘈杂的传输介质上,成功传输可能需要很长时间,甚至永远不会发生。 然而,奇偶校验的优点是它只使用一个位并且只需要一些异或门来生成。 有关纠错码的示例,请参阅汉明码。
奇偶校验位校验偶尔用于传输 ASCII 字符,它有 7 位,留下第 8 位作为奇偶校验位。
例如,可以如下计算奇偶校验位。 假设 Alice 和 Bob 正在通信,Alice 想向 Bob 发送简单的 4 位消息 1001。
这种机制可以检测单位错误,因为如果一位因线路噪声而翻转,则接收到的数据中将出现不正确的个数。 在上面的两个例子中,Bob 计算出的奇偶校验值与其接收值中的奇偶校验位相匹配,表明没有单比特错误。 考虑以下使用异或在第二位中出现传输错误的示例:
奇偶校验方案有一个限制。 奇偶校验位只能保证检测到奇数个位错误。 如果偶数位有错误,即使数据已损坏,奇偶校验位也会记录正确的个数。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/197302/