小编Dav*_*son的帖子

_mm_crc32_u8 给出与参考代码不同的结果

我一直在与内在因素作斗争。特别是使用标准 CRC 计算和假定等效的英特尔内在函数时,我没有得到相同的结果。我想转而使用_mm_crc32_u16_mm_crc32_u32但如果我不能让 8 位操作工作,那就没有意义了。

static UINT32               g_ui32CRC32Table[256] =
{
    0x00000000L, 0x77073096L, 0xEE0E612CL, 0x990951BAL,
    0x076DC419L, 0x706AF48FL, 0xE963A535L, 0x9E6495A3L,
    0x0EDB8832L, 0x79DCB8A4L, 0xE0D5E91EL, 0x97D2D988L,
....

// Your basic 32-bit CRC calculator
// NOTE: this code cannot be changed
UINT32 CalcCRC32(unsigned char *pucBuff, int iLen)
{
    UINT32 crc = 0xFFFFFFFF;

    for (int x = 0; x < iLen; x++)
    {
        crc = g_ui32CRC32Table[(crc ^ *pucBuff++) & 0xFFL] ^ (crc >> 8);
    }

    return crc ^ 0xFFFFFFFF;
} …
Run Code Online (Sandbox Code Playgroud)

c crc

4
推荐指数
1
解决办法
1261
查看次数

标签 统计

c ×1

crc ×1