16进制(CRC8)(多项式异或)校验(1),循环冗余校验在线计算器
多项式一(0x31)正序
多项式二(0x07)正序
多项式三(0x5e)正序
多项式一(0x31)反序
多项式二(0x07)反序
多项式三(0x5e)反序
输入字节数(16进制)
输入字节数(10进制)
 
 

CTRL+A :选中全部,CTRL+C:复制,CTRL+V:粘贴。 使用必读本站支持微信扫码登录了除了计算器还有这些功能可用

分类: 校验计算 标签:16进制CRC多项式异或校验循环冗余 工具ID:212 阅读:4694 收藏

输入连续或空格隔开的十六进制字符串后点击计算,可求其10进制累加值、16进制累加值、校验字节及其校验补码值。系统默认两个字符表示一个字节,所以必须输入偶数个字符才能进行计算。

本计算器能快速计算出三个多项式的正序和反序CRC8异或校验结果。

1、 CRC8标准生成多项式

多项式一:x8+x5+x4+1                 0x31(0x131)

多项式二:x8+x2+x1+1                 0x07(0x107)

多项式三:x8+x6+x4+x3+x2+x1    0x5E(0x15E)

注:由于多项式的最高为都为1,并且在代码的crc8计算中,最高位也是不使用的,所以在多项式记录时都去掉了最高位。

多项式一为例,代码示例如下:

2、正序异或计算示意代码:

unsigned char crc_high_first(unsigned char *ptr,unsigned char len)

{

unsigned char i;

unsigned char crc=0x00;/*计算的初始crc值*/

while(len--)

{

crc^=*ptr++;/*每次先与需要计算的数据异或,计算完指向下一数据*/

for(i=8;i>0;--i)/*下面这段计算过程与计算一个字节crc一样*/

{

if(crc&0x80)

crc=(crc<<1)^0x31;

else

crc=(crc<<1);

}

}

return crc;

}

3、反序异或计算示意代码如下:

unsigned char crc_high_first(unsigned char *ptr,unsigned char len)

{

unsigned char i;

unsigned char crc=0x00;/*计算的初始crc值*/

while(len--)

{

/*同样需要计算8次*/

for(i=8;i>0;--i)

{

if(crc&0x01)/*反序异或变成判断最低位是否为1*/

/*数据变成往右移位了*/

/*计算的多项式从0x31(00110001)变成了0x8C(10001100)*/

/*多项式值,原来的最高位变成了最低位,原来的最低位变成最高位,8位数据高低位交换一下位置*/

crc=(crc>>1)^0x8C;

else

crc=(crc>>1);

}

return crc;

}

1)16进制加法,减法,乘法,除法在线计算器

2)文本文字(自动换行,分行)在线处理工具

3)文本文字(字数,字符数,字节数)统计在线计算器
 

相关计算器:

1)根据(校验码)反查CRC8(累加和,循环冗余)校验初始参数在线计算器

2)16进制(CRC8)(多项式异或)校验(2),循环冗余校验在线计算器

3)16进制(CRC8)(多项式异或)校验(1),循环冗余校验在线计算器

4)16进制(CRC8)(累加和,LRC校验),ASCII码校验和在线计算器

5)BCC校验码(异或校验码,异或求和)在线计算器

6)LRC纵向冗余校验码,Modbus通讯ASCII模式LRC校验码在线计算器

7)16进制(CRC8)校验码(附加算法)加密/解密在线计算器

 


对此计算器不满意或未找到合适的计算器?本网站免费订制专用计算器…… 报错/建议 讨论专区

相关推荐