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

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

补数

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

时针转一圈为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可得到原码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂的小强呀

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值