2012-01-01 159 views
-2

我在大学的计算机体系结构课程中遇到过这种情况。 我无法理解奇偶校验位;为什么它有两种奇数和偶数。奇偶校验位和错误检测

任何人都可以给我清楚的解释校验码吗?

+0

你抬头看维基百科? – fge 2012-01-01 19:07:53

+5

http://en.wikipedia.org/wiki/Parity_bit – 2012-01-01 19:08:37

+0

可能的重复是的,我无法找到我的理解。 – 2012-01-01 19:08:50

回答

3

“奇偶校验位”是一种错误检查方法。想象一下,你需要通过连接发送8位数据,并确定他们是否正确。你可以尝试发送两次,这样如果出现错误,接收者会知道,因为这两条消息是不同的。但是,这需要两倍的带宽,这太多了。所以每个字节(8位)通常也会有一个奇偶校验位。你计算了字节中的个数。如果奇数,奇偶校验位是1。如果它是偶数,则奇偶校验位为零。这样,如果接收机知道任何单个错误,并且只需要八分之一的额外带宽。例子:

Data: 01001001 3 ones, parity bit 1 
Data: 00110101 4 ones, parity bit 0 

如果接收端收到00111101和奇偶校验位0,就会知道,有一些腐败现象。

当然,如果在相同的字节两个错误就没有办法来检测这一点 - 例如,如果原来是00000001并获得为00000010 - 但这被认为是足够罕见不用担心对于大多数应用程序。

2

Wikipedia article的第一句已经够清楚了,第二段也是如此......但是哦。

给定n个比特的字,其中n-1个位,以检查奇偶校验和奇偶校验1位,奇偶校验位将被设置为:

  • 1如果比特设置为1的数量是奇数,0,否则(偶校验);
  • 如果设置为1的位数为偶数,则为0,否则为1(奇数奇偶校验位)。

例如:1101011x其中x是奇偶校验位。有5位设置为1,因此奇数:x将被设置为1(偶校验)或0(奇校验)。