[英]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.