最火下载站首页
手机版
最火下载站
关注公众号
最火下载站
8位16位32位的CRC校验算法Delphi源代码

8位16位32位的CRC校验算法Delphi源代码

  • 软件大小:16 KB
  • 软件语言:简体中文
  • 软件类型:算法相关
  • 软件授权:免费版
  • 应用平台:windows/delphi7
  • 更新时间:未更新
  • 发布时间:2010-11-30 15:21:38

网友评分: 2

软件非常好(5) 软件不好用(2)

内含8位、16位、32位的CRC校验算法示例代码,生成多项式的值(多项式因子)
注意:CRC16是数据流的高位先计算,多项式因子不变
而CRC32和CRC8都是数据流的低位先计算,所以多项式因子的高/低位对调
比如CRC32由$04C11DB7变为$EDB88320,CRC8由$31变为$8C
16位CRC:按位计算,速度最慢,占用空间最少
注:数据流是高位先行

MCS51的CRC-16计算函数(多项式因子为$1021, 高位先行)
; 调用:CRC16H/CRC16L=原CRC16值(16位,初始值为0000h),A=待计算数据(8位)
; 结果:CRC16H/CRC16L=计算后的CRC16值(16位)

16位CRC:生成CRC16表(256项),用于快速查表计算
在程序初始化时就先调用,预先生成CRC16Tab[256]查表数据

MCS51的CRC-16快速查表计算函数
; 要预先生成CRC16查表数据,起始地址CRC16Tab,按高/低字节顺序存放(512字节)
; 调用:CRC16H/CRC16L=原CRC16值(16位,初始值为0000h),A=待计算数据(8位)
; 结果:CRC16H/CRC16L=计算后的CRC16值(16位)

MCS51的CRC-8快速查表计算函数
; 要预先生成CRC8查表数据,起始地址CRC8Tab,按顺序存放(256字节)
; 调用:B=原CRC8值(8位,初始值为00h),A=待计算数据(8位)
; 结果:B=计算后的CRC8值(8位)

…………

标签: