数制与编码

数制与编码

=========================================

1.数制转换


八,十六进制转二进制

每1位8/16进制数都转化成3/4位二进制数

二进制转八,十六进制

整数部分:
自右往左3/4位二进制数
按权展开相加得到一位8/16进制数,
不足时补0
小数部分:
自左往右3/4位二进制数
按权展开相加得到一位8/16进制数,
不足时补0


二,八,十六进制转十进制

自左往右按权值展开相加

十进制转二,八,十六进制

整数部分:
除2/8/16取余,直到商为0,余数从下往上权值越来越小
小数部分:
取小数部分,乘2/8/16取整,从下往上权值越来越大


八进制十六进制互转

先转换成2/10进制


=========================================

2.带符号的二进制数的表示方法

原码

原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

反码

正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

补码

正数的补码与其原码相同;负数的补码是在其反码的末位加1。

=========================================

3.字符编码

8421BCD码

每四位二进制数表示一位十进制数

例如:

1000 0101 1001.0100 0111 
表示 859.47
余3码

每四位8421码都加3即形成余3码
例如

859.47
用余3码表示即:1011 1000 1100.0111 1010
BCD编码的修正问题

BCD码在进行加/减运算时要考虑修正问题
修正方法:

当十进制数相加结果小于等于9时,不修正
当结果大于9或产生向高位进位十,均加6修正

例:

    358+929
=   0011 0101 1000
   +1001 0010 1001

=   1010 1000 0001
   大于9      向前进位
   +0110 0000 0110
=  10000 1000 0111

=========================================

4.可靠性编码

格雷(Gray)码

从一个代码变换为相邻的另一代码时,只有一位发生变化

Gray码–>二进制码

G n = B n G_n=B_n Gn=Bn
G i = B i + 1 ⊕ B i G_i=B_{i+1} \oplus B_i Gi=Bi+1Bi
例:二进制码:0111
格雷码:0100

Gray码–>二进制码

B n = G n B_n=G_n Bn=Gn
B i = B i + 1 ⊕ B i B_i=B_{i+1} \oplus B_i Bi=Bi+1Bi
例:二进制码:1010
格雷码:1100

奇偶校验码

奇偶校验码由两部分组成:信息位,校验位
信息位即传输的信息本身,校验位是附加的冗余位

编码方法

根据信息位1的个数配成奇数个1,构成奇校验
根据信息位1的个数配成奇数个2,构成偶校验

例:

信息位:10110,校验位:P
奇校验:p= 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 ⊕ 1 = 0 1\oplus0\oplus1\oplus1\oplus0\oplus1=0 101101=0
奇校验:p= 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 = 1 1\oplus0\oplus1\oplus1\oplus0=1 10110=1
异或求解:奇数个1即为一,偶数个1即为0

校验方法

根据信息位,奇/偶校验求P’
P ⊕ P ′ P \oplus P' PP=0则传送正确,不然错误
即若P,P’相同说明传送正确

汉明校验码
循环冗余校验码

=========================================

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值