簡體   English   中英

使用Boost創建6位crc

[英]Creating a 6 bit crc using boost

我是CRC,Boost的新手,也是這個方面的更多Java開發人員。 我正在嘗試使用crc.hpp boost庫來創建僅基於兩位計算的6位crc。 首先這可能嗎?

看起來理論CRC計算機可以用於處理特定數量的位,但是我不清楚如何指定6位結果。 請幫助。

假設您的輸入基於2個實際位而不是兩個字節,則此方法應該有效:

const int initial_remainder = 0xBAADF00D;

unsigned char input = 0x3;

boost::crc_basic<6> checksum(initial_remainder);
checksum.process_bits(input, 2);

printf("%i", checksum.checksum());

不過,您仍然需要弄清楚初始余數應該是多少。

這應該只是一個自定義代碼,該代碼可以最大化四個字節值之間的漢明距離。 這將是一個由四個位索引的四個8位值的表,這些位作為0..3中的數字。

使四個值中的任何兩個之間的最小漢明距離最大化的一組值(有280個這樣的組)是: 0x00, 0x4f, 0xb3, 0xfc 最小漢明距離為5。這些值的高兩位按順序是兩位索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM