c++ - 使用 boost 创建 6 位 crc

标签 c++ boost crc

我是 CRC、boost 的新手,更像是一名 Java 开发人员。我正在尝试使用 crc.hpp boost 库来创建仅基于两位计算的 6 位 crc。首先这可能吗?

Theoretical CRC Computer 似乎可以用来处理特定位数,但我不清楚如何指定 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());

不过,您仍然需要弄清楚初始余数应该是多少。

关于c++ - 使用 boost 创建 6 位 crc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16322554/

相关文章:

c++ - 如何继承boost.process中的某些fd,同时关闭所有其他fd

c++ - 在 C++ 中制作可移植的字节序正确的文件读取/写入代码的简洁方法

algorithm - CRC16计算不太对

error-handling - 末尾附加了CRC的缓冲区的CRC总是为0吗?

CRC32对于不同的输入是相同的

C++如何制作像lua一样的表格

c++ - 在 translations.qrc 文件中读取翻译器文件 .ts/.qm

c++ - 将数据转换为 C header 作为存储为二进制文件的方式

c++ - 指定不明确/全局命名空间的关键字?

C++ boost异步定时器与程序并行运行