需要先了解模2加減法,究其根本其實是按位進行異或操作。
模2加減法
(按位異或操作,相同則0,不同則1)
0 ± 0 = 0
1 ± 1 = 0
0 ± 1 = 1
1 ± 0 = 1
例子:1011 ± 1000
計算過程:
1 0 1 1
± 1 0 0 0
------------
0 0 1 1
結果:1011 ± 1000 = 0011
跟普通除法類似,但是
每次步驟的餘數直到餘數字數比除數要少為止。第一位為1的話商寫1並用除數繼續除
第一位為0的話商寫0並用0繼續除
1 0 1 1 // 商
------------------------
1101 | 1 1 1 1 0 0 0 // 被除數,因為首位為1,所以商第一位寫1
/ 1 1 0 1 // 除數,因為被除數首位為1,所以用除數進行除
-----------------------
0 1 0 0 // 被除數,從上面進行模2加減法得到的
0 0 0 0 // 因為被除數首位為0,所以商第二位寫0,並用0進行除
-----------------------
1 0 0 0 // 被除數,從上面進行模2加減法得到的
1 1 0 1 // 除數,因為被除數首位為1,所以用除數進行除
-----------------------
1 0 1 0 // 被除數,從上面進行模2加減法得到的
1 1 0 1 // 除數,因為被除數首位為1,所以用除數進行除
-----------------------
1 1 1 // 餘數
參考部落格: CRC校驗碼之模二演算法
最近複習計算機網路相關的知識,學到crc校驗碼時用到了模二除法,於是在回過頭去重新溫習了一下模二演算法 模2運算是一種二進位制演算法,crc校驗技術中的核心部分。與四則運算相同,模2運算也包括模2加法 模2減法 模2乘法 模2除法四種二進位制運算。與四則運算不同的是模2運算不考慮進製和借位,模2算術...
CRC冗餘校驗碼
1 基本概念 crc cyclic redundancy check 是資料通訊領域中最常用的一種查錯校驗碼,對資料進行多項式計算,並將得到的結果附在幀的後面,接收裝置也執行相似的演算法以保證資料傳輸的正確性與完整性。2 基本原理 這裡先介紹 模2除法 的知識,與 算數除法 類似,只不過 模2除法 ...
常用校驗碼(奇偶校驗碼 海明校驗碼 CRC校驗碼)
一 奇偶校驗碼 二 海明校驗碼 三 crc校驗碼 計算機系統執行時,各個部之間要進行資料交換.交換的過程中,會有發生誤碼的可能 即0變成1或1變成0 由於計算機的儲存是通過二進位制 來實現的的,誤碼會導致儲存的內容發生改變。為確保資料在傳送過程正確無誤,常使用檢驗碼.我們常使用的檢驗碼有三種.分別是...