本帖最后由 eyuge2 于 2009-9-5 12:47 编辑
大家好,crc的原理和算法我在网上都找到了,比较了解。
现在比较疑惑的是,crc的原理和算法之间是如何对应的。
按照crc的原理,如果需要计算某个字节的crc-16的校验码,需要在这个字节后面补充2个字节的0,构成一个3字节的数据,然后对数据进行右移,根据移出的位的值来判断是否将生成多项式与数据进行异或运算。
但是常用的位算法都不是这样做得,根本不需要在字节后面填充2个字节的0,直接根据字节的相应的位与原始crc值的相应位进行异或,来判断是否需要将crc值与生成多项式进行异或运算。
可有哪位大侠知道中间是如何过渡,优化的?谢谢! |