在寫編碼步驟之前,先來熟悉幾個(gè)表示符號(hào):
下面以8為數(shù)據(jù)位編碼步驟為例:
海明碼及數(shù)據(jù)位校驗(yàn)位對應(yīng)表:
如上圖,校驗(yàn)碼是所在位置在第2^(n-1)的位置,當(dāng)我們在表中填好校驗(yàn)位之后,剩下的數(shù)據(jù)位只要一次填寫就行了。
首先,先計(jì)算出校驗(yàn)位在海明碼中的下標(biāo),便于后面的計(jì)算:
在表中將數(shù)據(jù)位下表都用8421表示出來,但是校驗(yàn)位不變:
從上圖中,得出各個(gè)校驗(yàn)位所校驗(yàn)的位置
根據(jù)上表,將各個(gè)偶校驗(yàn)位異或,得到錯(cuò)誤位置。
小結(jié):計(jì)算校驗(yàn)位組的時(shí)候,結(jié)合以前IP地址轉(zhuǎn)點(diǎn)分十進(jìn)制的方法。