CRC校驗的算法

來源:魅力女性吧 1.69W
CRC校驗的算法

1、 選擇合適的除數

2、 看選定除數的二進制位數,然後再要發送的數據幀上面加上這個位數-1位的0,然後用新生成的幀以模2除法的方式除上面的除數,得到的餘數就是該幀的CRC校驗碼。注意,餘數的位數一定只比除數位數少一位,也就是CRC校驗碼位數比除數位數少一位,如果前面位是0也不能省略。

3、 將計算出來的CRC校驗碼附加在原數據幀後面,構建成一個新的數據幀進行發送最後接收端在以模2除法方式除以前面選擇的除數,如果沒有餘數,則説明數據幀在傳輸的過程中沒有出錯。

基於位運算的算法是非常慢的而且效率很低。因此,在實際使用中不推薦使用“計算法”來生成CRC校驗碼,而建議使用“查表法”來進行CRC校驗碼計算。

半查表法既計算又查表,表佔用空間小,適合小文件或者數據包校驗全查表法是標準查表法雙8位表全查表法表量大,查詢方便,適合大文件校驗。

因此,如果你的磁盤文件體積一般,建議使用全查表法,如果比較大如安裝包,建議使用雙8位表全查表法。

熱門標籤