非数值数据的编码&&三种校验码

非数值数据的编码

ASCII码

上图:

ASCII码是美国信息交换标准代码,规定用七位来表示一个字符,在计算机中通常用八位(加上一位校验)来表示。

ASCII码表
几个需要记忆的编码号: A 41H;a 61H;0 30H

unicode、汉字内码、

Unicode在ASCII码的基础上进行扩充,采用可变长度编码方案,对使用频繁的字符采用短的编码,而使用不频繁的字符采用较长编码表示。

汉字内码,又称“汉字ASCII码”,在计算机中对汉字进行的编码。

纠错码

奇偶校验码

奇校验:数据位和校验位异或的结果为1(即编码中有奇数为1);
偶校验:数据位和校验位异或的结果为0(即编码中有偶数为1);

  • 举例
A的ASCII编码  41H  x100 0001(x为校验位),采用偶校验
由于七位数中有两位1,那么x就是0;
即A的编码01000001

循环冗余校验码

生成多项式:一般用1011;

循环冗余校验码,对于发送方,采用二进制除法+非进位减法的方式,计算得到编码值。
对于接收方,用接收到的编码值除以生成多项式,如果余数为0,就证明没有错误,反之,有错误。

  • 举例
发送方:
数据 1001010
step1:1001010000(末尾要填充生成多项式位数-10)与1011做除法 得到余数111
step2:1001010000-111得到最终编码 1001010111
接收方:用10010101111011,可以除尽。数据无误,去掉校验位得到数据。
海明码

海明码是建立在奇偶校验码的基础上对数据进行编码的。

  • 举例
    对M的ASCII码使用海明码进行校验。

  • step1:对数据从1开始编号 ,空出编号为二的次幂的位置,用以填充校验位。

编号121110987654321
数据01001101
  • step2:计算校验位,计算的方法为:将每一个数字的编号拆解成二的次幂之和的形式,如果加数中含有该校验位编号,则该校验位负责校验该位。
1=1;2=2;3=2+1;4=4;5=4+1;6=4+2;
7=4+2+1;8=8;9=8+1;10=8+2;11=8+2+1;12=8+4

于是
1校验1、3、5、7、9、11
2校验2、3、6、7、10、11
···以此类推,
规律就是编号为x的校验位校验x位隔x位再校验。

  • step3:得到校验结果,如下表:
编号121110987654321
数据010011100101

总结一下最近所学

数值数据编码{定点数(原码、反码,补码、移码)+浮点数(IEEE754标准)}+非数值数据编码(ASCII码+几种校验码)
忘了加IEEE754...

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值