crc16校验代码中 多项式码明明是8005为什么要用A001来异或 还有CRC16-REV A001是什么意思

crc16校验代码中 多项式码明明是8005为什么要用A001来异或 还有CRC16-REV A001是什么意思

首页维修大全综合更新时间:2025-05-23 13:59:43

crc16校验代码中 多项式码明明是8005为什么要用A001来异或 还有CRC16-REV A001是什么意思

0x8005=1000 0000 0000 0101B0xA001=1010 0000 0000 0001B对比两个二进制高低位正好是完全相反的,CRC校验分为正向校验与反向校验。正向校验高位在左,反向校验低位在左,比如正向CRC校验的数据为0xAF5D=1010 1111 0101 1101B与0x8005异或时应该是0xAF5D^0x8005,而要使用0xA001与数据进行校验也应该使0xAF5D高低位换顺序为0xBAF5=1011 1010 1111 0101B。

正向校验使用左移位,反向校验使用右移位,其实原理是一样的,得看校验的数据高低位顺序。

大家还看了
也许喜欢
更多栏目

© 2021 3dmxku.com,All Rights Reserved.