计算机组成原理之补码表示法

计算机组成原理之补码表示法

补数

在学习补码之前,我们要了解一下补数。补数,顾名思义,就是互补的数。
例如:

时针转一圈为12小时,当时钟指示为六点,想要它指向三点,可以按顺时针方向将分针转九格,也可以逆时针方向转三格,结果是一致的。
事实上,任何时候时针向顺时针转九格和逆时针转三格的效果都是一致的。
如果我们将方向定位正负,在12这个计量范围之内,+9和-3就是互补的。数学上称这个12为模写作(mod12),而称+9是-3以12为模的补数。

补码

应用于计算机中的补数称为补码

补码的引入

在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。

补码的定义

  1. 整数
    在这里插入图片描述
    x为真值,n为整数的位数。
    例如:
    ①x=+1010,则 [x]补=0,1010
    ②x=-1011000,则 [x]补=27+1+x=27+1+(-1011000)=1,0101000
    注意:用逗号将符号位和数值部分分开
  2. 小数
    在这里插入图片描述
    x为真值
    举例:
    ①x=+0.1110,则 [x]补=0.1110
    ②x=-0.1100000,则 [x]补=2+(-0.1100000)=1.0100000
    注意:用小数点将符号位和数值位分开

利用原码求补码

在实际应用中,我们经常利用原码求得反码再得到补码,而不通过复杂的公式计算。

  • 对于正数,用原码、反码、补码表示都是一样的。
  • 对于负数,用原码、反码、补码表示时,符号位都固定为1,但是数值位均不相同,利用原码求补码的转换关系如下:
  1. 原码符号位为1不变,数值位的每一位二进制数求反得到反码(求反即0变为1,1变为0)
  2. 反码符号位为1不变,反码数值位末位加1,得到补码
举例:
x=-1010
[x]=1,1010
[x]=1,0101
[x]=[x]反+1=1,0110

注意:当真值为负时,补码除符号位每位取反,末位加1可得到原码

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:黑客帝国 设计师:我叫白小胖 返回首页
评论

打赏作者

疯狂的小强呀

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值