【计算机组成原理】——补码加减法运算,如何判断溢出?

补码运算

补码加减运算的基本公式:
在这里插入图片描述

如何判断溢出

溢出用OF(overflow)表示:当OF=1时溢出;OF=0时,未溢出

m表示符号位是否进位(进位为1,否则为0)
n表示最高数值位是否进位(进位为1,否则为0)

当:
在这里插入图片描述
二进制逢二进一

补码的第一个二进制数表示符号位,第二个二进制数表示最高数值位

看下面这个例子:结果为:0,0111

在这里插入图片描述
最高数值位向前进了一位:n=1
符号位也像前进了一位:m=1
此时:n异或m=0 未溢出

异或:相同为0,不同为1

例题

例:设机器字长为8位(含一位符号位),A=+115,B=-24,用补码运算规则计算
解:
在这里插入图片描述

  • 37
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
补码是计算机中表示有符号整数的一种方法。在补码中,正数的补码与其原码相同,而负数的补码则是其原码取反后再加上1。补码加减法运算与无符号整数的加减法运算类似,但需要注意溢出问题。以下是补码加减法运算溢出判别的详细介绍: 补码的加法运算: 1. 将两个加数的补码对应位相加,得到一个二进制数。如果这个二进制数的最高位(符号位)为0,则表示结果为正数;如果最高位为1,则表示结果为负数。 2. 如果相加的两个数都是正数,且结果为负数,则表示发生了溢出。 3. 如果相加的两个数都是负数,且结果为正数,则表示发生了溢出。 4. 如果一个数为正数,另一个数为负数,则不会发生溢出补码的减法运算: 1. 将被减数的补码与减数的补码取反后再加1,得到一个新的补码。 2. 对新的补码执行加法运算,得到一个结果。如果结果的最高位为0,则表示结果为正数;如果最高位为1,则表示结果为负数。 3. 如果被减数和减数符号相同,结果符号与它们相反,则表示发生了溢出。 4. 如果被减数和减数符号不同,则不会发生溢出溢出的判别: 1. 对于加法运算,如果相加的两个数都是正数,且结果为负数,或者相加的两个数都是负数,且结果为正数,则表示发生了溢出。 2. 对于减法运算,如果被减数和减数符号相同,结果符号与它们相反,则表示发生了溢出

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@玉面小蛟龙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值