2012-01-01 156 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(奇校驗)。