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