2.1 数制与编码

在日常生活中一般采用进位计数法。在进位计数法中,每个数位所用到的不同数码的个数称为基数。十进制的基数为10(0-9)。

进制间的不同转换

2进制转换为8进制,16进制,可以每3位,4位去直接对应8进制,16进制去转换,可以根据情况在整数前面补0和在小数后面补0.因为2^3=82^4=16。同样的8进制,16进制也可以转换为2进制,将每位转换成3位或者4位,适当的消除多余的0即可。

不同的进制转换成10进制,可以在对应数码和权值相乘,之后累加即可。

十进制转换为任意进制,采用基数乘除法。整数部分用除法,小数部分用乘法,乘积为1.0(或满足精度要求)时结束

在机器中一般用“0”表示正,用"1"表示负。

BCD码。二进制编码的十进制数通常采用4位二进制来表示一位10进制中的0-9这个10个数码。但4位2进制有16种情况,所以有6种冗余状态

此时列举了三种BCD码

1> 8421码

是一个有权码,若两个8421码相加之和小于等于(1001)2进制,(9)10进制,则不需要修正;若相加之和大于定于(1010)2进制,(10)10进制,则要加6修正,所以8421码不会出现1010-1111。

2> 余3码

是一个无权码,是在8421码的基础上加(0011)2进制形成的。

3> 2421码

是一种有权码,权值有高到低为2,4,2,1特点是大于等于5的4位二进制数中的最高位为1,小于5的最高位为0.所以5位1011而非0101。

因为机器只能用二进制,所以字符和汉字怎么表示呢?

国际上用7位2进制表示字符,称作ASCII码。

汉字用2字节去表示,汉字编码包括汉字的输入编码,汉字内码,汉字字形码。

国际码是将10进制的区位码转换为16进制数后,在每个字节上加20H。国际码两个字节的最高位都是0,ASCII码的最高位也是0,将国际码两个字节的最高位都改为1,这就是汉字内码。

区位码和国标码都是输入码。

字符串是一串连续的字符构成,那么先存储低位字节,后存储高位字节的顺序,称为小端模式,反过来为大端模式

校验码

因为信息在发送的时候,可能由于物理因素导致信息的错误,所以这里有一些方法验证。

任意两个合法码字之间对应位上数字的不同位个数,称为数据校检码的码距。码距不小于2的数据校检码,开始具有检错能力

1> 奇偶校验码

由若干有效信息为加上一个二进制位组成校验码。

注意,奇偶验码只能发现数据中奇数位的出错情况,但不能纠错。

2> 海明(汉明)校验码

n为有效信息位数,k为校验码

2^k>=n+k+1,之后要会推导过程。

能发现两位错误并纠正1位

3> 循环冗余校验码

里面用到了模2除法。

常用在大量数据传送过程中,能发现并纠错一位或者多位

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值