校验码计算方法

合集下载

校验码的计算

校验码的计算

校验码的计算
1、试用几何级数法确定原代码为1684的校验位和新代码。

要求以11为模,以27、9、3、1为权。

解:原代码 1 6 8 4
各乘以权 27 9 3 1
乘积之和 27+54+24+4=109
以11为模除乘积之和109/11=9 (10)
因余数是10,所以校验位按0处理
故校验位为0,新代码为16840
2、用质数法设计代码校验位:原代码共7位,从左到右取权3,5,7,13,17,19,23,以11为模,试求出2690088的校验位?如果让“11”既作模,又作权,会存在什么缺陷(可以举例说明)?解:校验位的计算:
原码: 2 6 9 0 0 8 8
权: 3 5 7 13 17 19 23
乘积: 6 30 63 0 0 152 18
4
435
乘积之
和:
模11结果435/11=39 (6)
校验位: 6
新码:26900886
(2)如果“11”既作模,又作权,那么当该位发生错误时,校验位将无法检测到这位发生错误。

如:不妨将权13改为11(左边第四位权),原代码是2690088,其校验位仍为6,新码是26900886;在输入或传输过程中发生错误:第四位由0变为9(或其它任意数字1-9),即输入“26990886”此时的校检位6将无法检测到已发生的错误!因为2X3+6X5+9X7+9X11+0X17+8X19+8X23=435+9X11=534模11后所得余数仍为6,计算机会认为:“26900886”输成“26990886”没有发生错误!。

身份证校验码计算公式

身份证校验码计算公式

身份证校验码计算公式校验码是识别一个身份证号码是否真实存在的重要的依据。

那我们要如何通过校验码来判断一个身份证号码是否真实的呢?校验码如何判断身份证号码真伪呢?我们来看看具体计划过程。

第一步:将身份证号码的第1位数字与7相乘;将身份证号码的第2位数字与9相乘;将身份证号码的第3位数字与10相乘;将身份证号码的第4位数字与5相乘;将身份证号码的第5位数字与8相乘;将身份证号码的第6位数字与4相乘;将身份证号码的第7位数字与2相乘;将身份证号码的第8位数字与1相乘;将身份证号码的第9位数字与6相乘;将身份证号码的第10位数字与3相乘;将身份证号码的第11位数字与7相乘;将身份证号码的第12位数字与9相乘;将身份证号码的第13位数字与10相乘;将身份证号码的第14位数字与5相乘;将身份证号码的第15位数字与8相乘;将身份证号码的第16位数字与4相乘;将身份证号码的第17位数字与2相乘。

第二步:将第一步身份证号码1~17位相乘的结果求和,全部加起来。

第三步:用第二步计算出来的结果除以11,这样就会出现余数为0,余数为1,余数为2,余数为3,余数为4,余数为5,余数为6,余数为7,余数为8,余数为9,余数为10共11种可能性。

第四步:如果余数为0,那对应的最后一位身份证的号码为1;如果余数为1,那对应的最后一位身份证的号码为0;如果余数为2,那对应的最后一位身份证的号码为X;如果余数为3,那对应的最后一位身份证的号码为9;如果余数为4,那对应的最后一位身份证的号码为8;如果余数为5,那对应的最后一位身份证的号码为7;如果余数为6,那对应的最后一位身份证的号码为6;如果余数为7,那对应的最后一位身份证的号码为5;如果余数为8,那对应的最后一位身份证的号码为4;如果余数为9,那对应的最后一位身份证的号码为3;如果余数为10,那对应的最后一位身份证的号码为2。

CRC_计算方法

CRC_计算方法
略了,有些迷惑哦。要是生成多项式要是都省了,那还怎么校验?我猜想可能是中间的全为
一吧。
生成多项式的最高位固定的1,故在简记式中忽略最高位1了,如0x1021实际是0x11021。 I、基本算法(人工笔算):
以 CRC16-CCITT 为例进行说明,CRC 校验码为16位,生成多项式17位。假如数据流为4 字节:BYTE[3]、BYTE[2]、BYTE[1]、BYTE[0]; 数据流左移16位,相当于扩大256×256倍,再除以生成多项式0x11021,做不借位的除法运算
3、CRC 校验码软件生成方法:
借助于多项式除法,其余数为校验字段。
例如:信息字段代码为: 1011001;对应 m(x)=x6+x4+x3+1
假设生成多项式为:g(x)=x4+x3+1;则对应 g(x)的代码为: 11001
x4m(x)=x10+x8+x7+x4 对应的代码记为:10110010000;
3、CRC 码集选择的原则:若设码字长度为 N,信息字段为 K 位,校验字段为 R 位(N=K+R), 则对于 CRC 码集中的任一码字,存在且仅存在一个 R 次多项式 g(x),使得

V(x)=A(x)g(x)=xRm(x)+r(x);
其中: m(x)为 K 次信息多项式, r(x)为 R-1次校验多项式,
否则仅将寄存器左移1位(寄存器的最低位从下一个字节获得); 3)重复第2步,直到数据流(6字节)全部移入寄存器; 4)寄存器中的值则为 CRC 校验码 CRC[1]、CRC[0]。
III、计算机算法2(字节型算法):256^n 表示256的 n 次方 把按字节排列的数据流表示成数学多项式,设数据流为 BYTE[n]BYTE[n-1]BYTE[n-

串口校验码计算公式

串口校验码计算公式

串口校验码计算公式
串口校验码计算公式根据所选用的校验方式不同而不同。

常见的校验方式有奇偶校验、偶校验和无校验(即无需计算校验码)。

以下分别介绍这三种校验方式的计算公式:
1. 奇偶校验:将数据位的值相加,并将进位(如果有)加到结果中。

如果结果是偶数,则校验位为0,否则为1。

例如,要发送的数据为01100101,其奇偶校验位的计算过程
如下:
0 + 1 + 1 + 0 + 0 + 1 + 0 + 1 = 4,因为4是偶数,所以奇偶校验位为0。

因此,最终要发送的数据为011001010。

2. 偶校验:与奇偶校验相同,只是最终结果恰好相反,即如果结果是偶数,则校验位为1,否则为0。

以要发送的数据为01100101为例,偶校验位的计算过程如下:
0 + 1 + 1 + 0 + 0 + 1 + 0 + 1 = 4,因为4是偶数,所以偶校验位为1。

因此,最终要发送的数据为011001011。

3. 无校验:在串口通信中,如果不需要进行校验,直接将数据
发送即可。

综上所述,串口校验码计算公式要根据所选用的校验方式进行相应的计算。

如果使用奇偶校验或偶校验,需要将数据位的值累加并判断结果的奇偶性,得出最终的校验位;如果使用无校验,则无需计算校验码。

校验码的计算方法

校验码的计算方法

校验码的计算方法
一、校验码的基本概念
校验码作为信息的一部分,用来对数据在传送、存储过程中的完整性进行检查,用于检测出数据正确性,也可用于发现出数据在传输过程中的错误。

它是常用的信息认证技术,其目的是通过用位等方式通过算术或逻辑函数及其他运算,由发送端计算出一个校验码,传输给接收端,由接收端重新计算,与发送端传输的校验码进行比较,从而验证发送和接收的准确性。

二、常用校验码计算方法
1.奇偶校验码:
奇偶校验码是将发送的数据按位进行XOR运算,最终计算出一个校验码。

其计算方法如下:首先令n为要发送的数据的位数,即有n个位,每一位记为d(0),d(1),d(2),……,d(n-1);将它们看成二进制数,将它们相加,即可得出最后的校验码C=
d(0)⊕d(1)⊕d(2)⊕……⊕d(n-1)。

2.CRC校验码:
CRC(全称循环冗余校验码),它是一种比较高效的数据校验技术,其校验效果很好,强度高,可检测出多重错误,用于检测经过网络或外界媒介传输的软件或文件中的错误。

CRC校验码的计算方式如下:首先,将原始数据分成以位为单位的、等长的字节块,每一段连续的字节块称为一个字。

校验码的3种计算方法

校验码的3种计算方法

校验码的3种计算方法
校验码是一种用于检测数据传输或存储过程中是否出现错误的技术。

以下是三种常见的校验码计算方法:
1. 奇偶校验(Parity Check):奇偶校验是一种简单的校验码计算方法,它通过检查数据的奇偶性来判断数据是否正确。

如果数据的位数为奇数,则在末尾添加一个校验位,该位的值为0或1,取决于数据的最后一位是否为0。

如果数据的位数为偶数,则在末尾添加两个校验位,每个校验位的值都为0或1,取决于数据的最后一位是否为0。

2. 循环冗余校验(CRC):循环冗余校验是一种更复杂的校验码计算方法,它使用多项式除法和生成多项式来计算校验码。

生成多项式是一个固定长度的多项式,通常为2的n次方减1,其中n是数据位数的二进制表示中最高位的位置。

在计算校验码时,将数据与生成多项式进行异或运算,然后将结果取反并加到生成多项式的系数中。

最后得到的结果就是校验码。

3. 海明码(Hamming Code):海明码是一种基于循环冗余校验的纠错码,它可以在接收端检测到传输中的错误并进行纠正。

海明码使用多个校验位来表示数据,每个校验位都是一个独立的多项式。

在发送端,将数据和所有校验位一起发送给接收端。

接收端首先计算出所有校验位的值,然后将这些值与接收到的数据进行比较。

如果发现任何一位不匹配,则说明传输中出现了错误,接收端可以使用已知的纠错规则来纠正错误并重新发送正确的数据。

统一社会信用代码的最后一位为校验码的计算方法

统一社会信用代码的最后一位为校验码的计算方法

统一社会信用代码的最后一位为校验码的计算方法
1. 第一步:加权因子计算
统一社会信用代码由18位字符组成,从左到右分别为登记管理部门代码(1 位)、机构类别代码(1 位)、登记管理机关行政区划码(6 位)、主体标识码(组织机构代码,9 位)和校验码(1 位)。

为每一位代码确定一个加权因子,从左至右分别为:1、3、9、27、81、243、729、2187、6561、19683、59049、177147、531441、1594323、4782969、14348907、43046721。

2. 第二步:代码字符数值转换
对于统一社会信用代码中的字母,按照以下规则转换为数字:
A 转换为10,
B 转换为11,
C 转换为12,
D 转换为13,
E 转换为14,
F 转换为15,
G 转换为16,
H 转换为17,J 转换为18,K 转换为19,L 转换为20,M 转换为21,N 转换为22,P 转换为23,Q 转换为24,R 转换为25,T 转换为26,U 转换为27,W 转换为28,X 转换为29,Y 转换为30。

数字字符保持不变。

3. 第三步:加权求和
将每一位代码字符转换后的数值乘以对应的加权因子,然后将所有乘积相加,得到一个总和。

4. 第四步:求余数
用加权求和得到的总和除以31,得到一个余数。

5. 第五步:确定校验码
根据余数确定校验码:
如果余数为0,则校验码为数字0。

如果余数为1,则校验码为字母A。

如果余数为2,则校验码为字母B,以此类推,直到余数为30,校验码为字母Y。

例如,对于一个统一社会信用代码,经过上述步骤计算出余数为5,那么校验码就是字母F。

crc校验码的计算方法

crc校验码的计算方法

crc校验码的计算方法
校验码也称和校验、检验码,是一称错误检测技术。

其目的是确定在
传输、存储过程中,由于种种原因出现的数据错误,检测出这一类错误,能够快速进行数据信息的纠正和恢复,以便保证最大限度的信息
准确性。

一、CRC校验码
1、CRC算法原理
CRC(Cyclic Redundancy Check)校验码是一种数据错误检测技术,它
通过运算数据和已知校验码(参考值),来检验数据的准确性,它的
原理是用减法校验。

2、CRC校验过程
(1)选择一个固定的计算系数k。

(2)根据传输的数据K位为校验码,计算结果称为校验码。

(3)用已计算出的校验码和未知校验码作比较,若结果相同则数据正确,反之数据则有误。

3、CRC校验码的优缺点
(1)优点:比较有效,且校验码可变;
(2)缺点:计算过程复杂,计算量大,校验时间久,并且容易受干扰。

二、校验码的种类
(1)LRC(Longitudinal Redundancy Check)校验码
LRC校验码是一种用于错误检测的技术,采用垂直纵向校验来检查每
一列数据,用不同位数求取出LRC位,传输可靠性比CRC校验要高。

(2)ALSC(Advanced Longitudinal Signature Character)校验码
通过字符间的比较,不仅可以检测出一个字符的错乱,还可以检测出
多个字符的错顺、重复、错码等多种情况。

(3)奇偶校验码
奇偶校验码是一种简单的校验技术,只能检查出一位或多位数据错误,相对CRC校验,它的可靠性较低。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.代码位置序号
代码位置序号是指包括校验码在内的,由右至左的顺序号(校验码的代码位置序号为1)。

2.计算步骤
校验码的计算步骤如下:
a.从代码位置序号2开始,所有偶数位的数字代码求和。

b.将步骤a的和乘以3。

c.从代码位置序号3开始,所有奇数位的数字代码求和。

d.将步骤b与步骤c的结果相加。

e.用大于或等于步骤d所得结果且为10最小整数倍的数减去步骤d所得结果,其差即为所求校验码
的值。

示例:代码6789X1校验码的计算见表。

表1 校验码的计算方法
校验码的计算方法(2)
校验码值等于前面所有字节之和的低字节部分
例如:0x68 0x10 0x68 0x68 0x68 0x68 0x68 0x68 0x68。

相关文档
最新文档