计算机中的数制和编码

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

@TO微机原理C


前言

第二章 计算机中的数制和编码

一、无符号数的表示与运算

1.无符号数的表示

(1)十进制(D):逢十进一
(2)二进制(B):逢二进一
(3)十六进制(H):逢十六进一

2.转换

(1)十进制转为R进制:

  • 整数部分:除R取余,倒记余数
  • 小数部分: 乘R取整,正记整数

(2)R进制转为十进制:将R进制数按权展开求和

二、带符号数的表示及运算

1.机器数

最高位为符号位,0代表正数,1代表负数
如机器字长为n:

  1. 原码:-(2^(n-1) -1)~
    2^(n-1)-1
  2. 反码:正数的反码与原码相同;负数的反码,符号位不变,其余位取反。
    -(2^(n-1) -1)~
    2^(n-1)-1
  3. 补码:正数的补码与原码相同;负数的补码为反码+1。-2^(n-1) ~
    2^(n-1)-1

2.真值与机器数间的转换

  1. 原码:按权展开求和,根据符号位判断正负
  2. 反码:先转换为原码–>真值
  3. 补码:先转换为原码–>真值

3.补码的加减运算

1.直接用补码形式进行加法运算,结果也为补码形式,只要不溢出就正确,由高位向更高位的进位会自动丢失,而不影响计算结果。
2.直接用补码形式进行减法运算,结果也为补码形式,只要不溢出就正确,由高位向更高位的进位会自动丢失,而不影响计算结果。
两个异号数相加或两个同号数相减,结果不会溢出。仅当两个同号数相加或两个异号数相减时,才有可能发生溢出。

三.信息的编码

二进制编码的十进制数(BCD编码)

引用老师讲的一句话,BCD码是披着二进制皮的十进制数。所以BCD码实际上表示十进制数。即将一位十进制数0~9用4位二进制码的组合来表示。

  1. 压缩型
    用一个字节表示两位十进制数。(两位10进制数:一共8位)
  2. 非压缩型
    用一个字节表示一位十进制数。高四位是0000,低四位用0000~1001表示。 (两位10进制数:一共16位)
  3. 部分8421BCD编码
十进制数压缩型BCD码
100000001
200000010
300000011
400000100
500000101
600000110
700000111
800001000
900001001
1000010000
1100010001

4.修正问题:运算时会发生进位,但是正常情况应该是逢十进一,而计算机按二进制运算,每4位一组,与16进制类似,为逢16进1。所以当相加结果超过9时将比正确结果少6,因此要加6修正。相当于产生进位加了16,但是实际进位只是加10,所以需要加6对结果修正。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值