通信中常用CRC8、CRC16、C32校验数据
数据通信中常用CRC8、CRC16、C32三种校验三种都用过,但是不是很清楚什么情况下用CRC8,什么情况用CRC32
与校验的数据长度又关系么?数据量越大,用crc32.数据量小用crc8 用crc8, 碰撞的概率 1/256
用crc16, 碰撞的概率 1/65536
用crc32, 碰撞的概率 1/0x100000000
碰撞就是错误的数据被误认为正确的概率
用 crc8 碰撞概率太高,用 crc32 又会增加协议开销和计算速度(没有多余硬件crc 的时候)
所以 256 字节的数据包通常用 crc16, 譬如串口通讯的 modbus、cdbus
页:
[1]