crc

    0热度

    1回答

    我想写一个CRC不同标准的程序(位处理)卡在init参数上。当init = 0x00时,它可以正常工作,不仅适用于CRC-8 ...但是,只要更改init,值就不会正确发送。问题是什么 ? Init只需要改变寄存器的初始值? CRC-8/INIT = 0×00,聚= 0×07 - 工作正常 CRC-8 CDMA/INIT = 0xFF时,聚= 0x9b - aldeady没有 CRC-8: int

    1热度

    2回答

    我试图更好地理解CRC,但是我卡住了一下。 这里有几个样本向量1,我可以正确计算,但我坚持验证计算的CRC是正确的。 例如,给定的32个字节的消息: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f 我的理解是,你首先附加0的32位获得有效载荷: 000102030405060708090a0b0c0d0e0f1011

    0热度

    1回答

    我们在传输过程中使用CRC进行数据错误检测。在CRC中,我们用除数除数据以检查数据是否有错误。但是如果除数在传输过程中被破坏会发生什么?我们如何确保它不会发生。

    0热度

    1回答

    我使用FastCRC库生成CRC,并返回一个uint32_t; uint32_t crc = CRC32.crc32(buf, sizeof(buf)); 的BUF,其包含消息,是uint8_t,我需要的uint32_t crc附加在BUF的末尾。该buf看起来像: uint8_t buf[] = {0x7E, 0x00, 0x78, 0xF0, 0x7E}; 如何迭代通过CRC追加它?

    0热度

    1回答

    我正在编写一个代码来使用32位无符号整数计算CRC16。当试图从执行CRC操作的XOR函数中输出返回值时,它始终打印0.我尝试了各种调试方法,例如打印语句,但是,我似乎无法弄清楚! 这是我的XOR功能: uint32_t XOR(uint32_t divisor, uint32_t dividend) { uint32_t divRemainder = dividend;

    0热度

    1回答

    Intel SSE4.2内部函数中存在64位CRC函数。 unsigned __int64 _mm_crc32_u64 (unsigned __int64 crc, unsigned __int64 v) 但是我找不到在AVX2内在函数上的CRC计算的256位版本。我在我的程序中使用256位变量(__m256i),所以我想计算超过256位的crc(或散列)。如何使用英特尔AVX2执行此操作?

    0热度

    1回答

    我在AVX2的新版本程序中使用256位变量(__m256i类型),并使用了Intel内在函数。之前,使用64位块来处理数据。所以,_mm_crc32_u64函数用于CRC计算。 crc = _mm_crc32_u64(seed,*chunk_64bit); 但现在,为了提高性能,我想计算CRC每个256个数据块(至少128个数据块)seperately。 一种方法可以像这样在每个块上应用_mm

    0热度

    2回答

    我想在c中创建一个CRC-15检查,并且输出永远不会对文件的每一行都正确。我试图在每行旁边累积地输出每行的CRC。我使用#define POLYNOMIAL 0xA053作为除数和分红文本。我需要将数字表示为32位无符号整数。我试图打印出十六进制值来跟踪和翻转不同的转变。但是,我似乎无法弄清楚!我有一种感觉,它与我填充东西的方式有关。我的逻辑有缺陷吗? CRC将以四个十六进制数字表示,该序列将具有

    0热度

    1回答

    我有一个类用于我的协议报头中的C# public class Header { public UInt16 m_syncBytes; public UInt16 m_DestAddress; public UInt16 m_SourceAddress; public byte m_Protocol; public byte m_SequnceN

    0热度

    1回答

    我想知道如何编码从0开始的消息。 ie。鉴于 代码:10111 消息:001011110 我试着划分这多次,但我不知道如果我可以忽略消息的前两个零,因为它们对应于x^7和x^8 ... 任何帮助非常感谢。