工作中使用CRC算法非常多,但是由於項目緊急,一般是都只會應用,具體爲什麼這麼做不求甚解。但是一直想要推導一遍CRC算法的原理實現,剛好最近相對空閒,花了一週時間將CRC從最初的模二除法到CRC優化、查表全部搞了一遍,算是徹底弄懂了CRC算法。
推導CRC算法之前,看了很多其它人的講解,雖然有所啓發,但是大部分都沒有講到最關鍵的兩個地方。
- 模二除法新的數據是移位到CRC寄存器的最低位,爲什麼現在的算法都是異或高位?
- CRC查表的是怎麼推導過來的,表格又怎麼計算?
後面會詳細講解整個推導過程,尤其是上面兩點。
暫時留空,五一待寫