作业帮 > 数学 > 作业

机器数补码相加4位计算机,有两个机器数1000和1001,所采用的表示格式为补码,两个数相加为1001,10001,00

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/10 11:39:36
机器数补码相加
4位计算机,有两个机器数1000和1001,所采用的表示格式为补码,两个数相加为
1001,10001,0001还是1000
1000 + 1001 = 0001
再问: 为什么呀?两个负的相加怎么会是正数?
再答: 可能的,这就是溢出。

补码运算,和普通二进制数的运算,完全相同。

1000 + 1001 = (1) 0001,进位丢弃了。
再问: 所有溢出的解决办法都是进位丢弃吗?书上只写了判断溢出的方法,没有写解决办法
再答: 哦,进位丢弃了,和溢出,还不是一个概念。

溢出,发生在补码运算。
溢出,就是错了,无法挽回。

但是,如果是无符号数运算,把进位,算上,数字还是不错的。
再问: 可是机器数不都是有符号的吗?最高位是符号位呀
再答: 最高位,是符号位。
把这个数字,换算成十进制的时候,确实要用最高位,来当做正负号。

但是,补码运算,是把符号位,当成数字,一起计算。
和普通二进制数的运算方法,完全相同。

因此,补码和普通二进制数,在 CPU 里面,就可以使用同一个““计算器””。
因此,就节省了硬件。
这是惯用的方法。