海明碼是一種糾錯碼,其方法是為需要校驗的數(shù)據(jù)位增加若干校驗位,使得校驗位的值決定于某些被校位的數(shù)據(jù),當被校數(shù)據(jù)出錯時,可根據(jù)校驗位的值的變化找到出錯位,從而糾正錯誤。對于32位的數(shù)據(jù),至少需要增加(5)個校驗位才能構成海明碼。
以10位數(shù)據(jù)為例,其海明碼表示為D9D8D7D6D5D4P4D3D2D1P3D0P2P1中,其中Di(0≤i≤9)表示數(shù)據(jù)位,Pj(1≤j≤4)表示校驗位,數(shù)據(jù)位D9由P4、P3和P2進行校驗(從右至左D9的位序為14,即等于8+4+2,因此用第8位的P4、第4位的P3和第2位的P2校驗),數(shù)據(jù)位D5由(6)進行校驗。
A.3
B.4
C.5
D.6
A.P4P1
B.P4P2
C.P4P3P1
D.P3P2P1