数据的表示和运算

数据的表示和运算

2.1数制与编码

2.1.1进位计数制

1. r进制转化为十进制
r进制的数值=各数码位与位权的乘积之和

2. 二进制和八进制的相互转化
3位对应一个二进制位
3. 二进制和十六进制的相互转化
4位对应一个二进制位
4. 十进制转化为r进制
整数部分:除基取余法
小数部分:乘基取整法
5. 真值和机器数
真值:实际的带正负号的数值
机器数:把正负号数字化的数

2.1.2 BCD码

  1. 8421码
    ①概念:四位二进制–16种状态–取其中10种状态表示一个十进制,权重分别为8421,比如9=1001,8=1000,985=1001 1000 0101
    ②加法运算:如果两个8421码相加落入到非法区间,结果要加6进行修正

    如:0101+1000=1100(1100+0110=1 0011)

  2. 余3码
    余三码是在8421的基础上再加上3

  3. 2421码
    权值为2421

2.1.3 字符和字符串

  1. 英文字符在计算机内的表示
  2. 中文字符在计算机内的表示
  3. 字符串的存储

2.1.4 奇偶校验码

1. 校验原理
有4种状态要表示,如果用2个二进制位,那就是只能表示4种状态,4种状态都是合法的,如果用3个二进制位表示的话,那就能表示8种状态,其中只有4个合法状态,如果发现接收到的数字不是合法的状态就说明传错了。
2. 奇偶校验(只能检错不能纠错)
#奇校验码:整个校验码中1的个数为奇数个(原来为偶数个就在前面补1,为奇数个就在第一位补0)
#偶校验码:整个校验码中1的个数为偶数个(原来为偶数个就在前面补0,为奇数个就在第一位补1)
#硬件实现:各个信息位进行异或运算,得到的结果为偶检验位,得到0说明有偶数个1,得到1说明有奇数个1

2.1.5 海明校验码

  1. 基本思想
    将信息分组进行校验–设置多个校验位–多个校验位标注出出错位置。
  2. 求解步骤
    ①需要多少个校验位 信息位n=4,校验位k=3
    信息位+校验位n+k,校验位k共可以表示2^k种状态,所以只需要 2^k>= n+k+1,那就可以校验所有的位
    ②确定校验位的分布
    校验位Pi放在海明号为2^(i-1)的位置上
    P1放在H1,P2放在H2,P3放在H4
    信息位为1010
H7 H6 H5 H4 H3 H2 H1
D4 D3 D2 P3 D1 P2 P1
1 0 1 0 0 1 0

③求校验位的值
H3:3------011
H5:5------101
H6:6------110
H7:7------111
异或相当于偶校验
所以第一个信息位P1=H3⊕H5⊕H7=D1⊕D2⊕D4=0(最右边为1的数)
P2=H3⊕H6⊕H7=D1⊕D3⊕D4=1(右数第二列为1的数)
P3=H5⊕H6⊕H7=D2⊕D3⊕D4=0(右数第三列为1的数)

④纠错
检验方程(都是0说明没有错)
S1=P1⊕D1⊕D2⊕D4=0
S2=P2⊕D1⊕D3⊕D4=0
S3=P3⊕D2⊕D3⊕D4=0

如果不是0的话说明第s1s2s3组成的二进制对应的十进制位出错,比如010=2就是H2位出错,就是第2位出错

总结 :海明码具有一个比特位的纠错能力和两个比特位的检验能力

2.1.6 循环冗余校验码

  1. 基本思想
    数据发送、接受方约定一个除数
    K个信息位+R个校验位作为被除数,添加校验位后需要保证除法的余数为0,接收到数据之后,进行除法检查余数是否为0
  2. 解题步骤

设生成多项式为G(X)=X^3 + X^2+1,信息码为101001,求对应的CRC码

①确定信息位K、

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值