我在大学的计算机体系结构课程中遇到过这种情况。 我无法理解奇偶校验位;为什么它有两种偶数和奇数。
有人能给我清楚解释奇偶校验码吗?
答案 0 :(得分:4)
'奇偶校验位'是一种错误检查方法。想象一下,您需要通过连接发送8位并确定它们是否正确通过。您可以尝试两次发送,这样如果出现错误,接收方就会知道,因为这两条消息不同。但是,这需要两倍的带宽,这太多了。因此,每个字节(8位)通常也会有一个奇偶校验位。你计算字节中的1的数量。如果是奇数,则奇偶校验位为1。如果是偶数,则奇偶校验位为零。这样,如果接收器将知道任何单个错误,则仅需要额外带宽的八分之一。例子:
Data: 01001001 3 ones, parity bit 1
Data: 00110101 4 ones, parity bit 0
如果接收方获得00111101
和奇偶校验位0
,它将知道存在一些损坏。
当然如果同一个字节中有两个错误,则无法检测到这一点 - 例如,如果原始文件是00000001
并且收到的是00000010
- 但这被认为是非常罕见的不用担心大多数应用程序。
答案 1 :(得分:2)
Wikipedia article的第一句话已经足够清楚,第二段也是如此......但是哦,哦。
给定n位的字,n-1位用于检查奇偶校验和1位奇偶校验,奇偶校验位将设置为:
示例:1101011x
其中x
是奇偶校验位。有5位设置为1,因此奇数:x
将设置为1(偶校验)或0(奇校验)。