计算机校验码怎么算的

时间:2025-01-19 18:47:06 计算机

计算机校验码的计算方法主要取决于所使用的校验码类型。以下是一些常见校验码的计算方法:

奇偶校验码

奇校验:在原始信息位后面补一位校验位,使得编码中1的个数为奇数。

偶校验:在原始信息位后面补一位校验位,使得编码中1的个数为偶数。

计算步骤

在原始信息位后面补r个0,r为生成多项式的阶。

由多项式得到除数,多项式中X的幂指数存在的位置为1,不存在的位置为0。

将被除数和除数进行模2除法运算,得余数即CRC校验码。

CRC校验码

计算步骤

在原始信息位后面补r个0,r为生成多项式的阶。

由多项式得到除数,多项式中X的幂指数存在的位置为1,不存在的位置为0。

将被除数和除数进行模2除法运算,得余数即CRC校验码。

示例

原始信息串: 10110

CRC生成多项式: G(x)=X^4+X+1

被除数补0-->101100000

从多项式提取除数: G(x)=X^4+X+1 --> 1xX^4 + 0xX^3 + 0xX^2 + 1xX^1 + 1 -->10011(系数)

将被除数和除数进行模2除法运算,得余数即CRC校验码。

加权校验码

计算步骤

对代码本体的每一位加权求和,设代码本体为C1, C2, ..., Cn,权因子为P1, P2, ..., Pn,加权求和S=ΣCi Pi。

以模除和得余数R=S mod M,其中M为模数,可取10, 11等。

模减去余数得校验位,即校验码。

ISBN校验码

计算步骤

对17位数字各位数字与对应的加权因子的乘积求和S。

计算S除以11的余数T。

计算(12-T)除以11的余数R,如果R=10,校验码为字母“X”;如果R≠10,校验码为数字“R”。

组织机构代码校验码

计算步骤

对代码本体的每一位加权求和,设代码本体为C1, C2, ..., Cn,权因子为P1, P2, ..., Pn,加权求和S=ΣCi Pi。

以模除和得余数R=S mod M,其中M为模数,可取10, 11等。

模减去余数得校验位,即校验码。

根据具体的校验码类型和应用场景,可以选择相应的计算方法进行计算。