CRC-32 c语言算法
时间: 2023-07-27 16:19:31 浏览: 18
下面是一个简单的C语言实现CRC-32算法的示例代码:
```c
#include <stdio.h>
#include <stdint.h>
uint32_t crc32(uint8_t *data, uint32_t length) {
uint32_t crc = 0xFFFFFFFF;
for (uint32_t i = 0; i < length; i++) {
crc ^= data[i];
for (uint32_t j = 0; j < 8; j++) {
if (crc & 1) {
crc = (crc >> 1) ^ 0xEDB88320;
} else {
crc = crc >> 1;
}
}
}
return ~crc;
}
int main() {
uint8_t data[] = {0x01, 0x02, 0x03, 0x04, 0x05};
uint32_t length = sizeof(data);
uint32_t crc = crc32(data, length);
printf("CRC-32: %08X\n", crc);
return 0;
}
```
以上代码实现了一个简单的CRC-32算法,可以计算任意长度的数据的校验码。
相关推荐






