2014-02-19 37 views
0

通過移位操作可以快速計算CRC校驗和,而無需使用查找表。用於CRC-16和CRC 32的按位更新等式

wikipedia page提供了兩個著名的CRC-16多項式方程和代碼片段。

是否有源可以找到類似的方程和其他16位和32位多項式的代碼片段。或者,如何計算它們?

回答

0

代碼保持不變,只有多項式,反射以及前後處理更改。你可以找到許多其他common polynomials and other CRC parameters here

+0

如果您使用的是按位功能,例如以下定義的功能,則代碼始終相同:http://www.barrgroup.com/Embedded-Systems/How-To/CRC-Calculation- C代碼。但是如果你使用維基頁面中定義的代碼,我的鏈接實現將會有所不同。尤其是變化的實體有什麼變化。 – Maverik

0

有幾頁可用,您可以在其中找到用於您的目的的CRC多項式。正如其他答案中已經提到的那樣,CRC計算保持不變,您可以毫無問題地改變多項式。您只需檢查用於CRC的位數。但是這也可以在在線CRC計算器中測試。

CRC calculator 1

CRC calculator 2

Polynomials1

Polynomials 2

C++的升壓庫還提供了一個CRC實現方式中,如果需要的話。 Boost CRC