右移的时候符号位的变化依据是什么呀

来源:4-9 浮点数的加减法运算

qq_乔哥哥_0

2019-10-30

比如说
图片描述这里符号位置由10变为11
图片描述这里由01变为了00
我想提问就是符号位的值的变化是依据什么,什么时候填充的位1什么时候位0。
图片描述就是这个位置的值的变化

写回答

1回答

咚咚呛

2019-10-30

先给同学点个赞,提问问题所提供的信息非常全面,让人一目了然,好的提问方式可以事半功倍,效率倍升。

回到这个问题,简单的说这就是约定的规律。作为双符号位去判断溢出,无非是01、10两种方式,当01的时候右移就规定补为00,当时10的时候就规定的11。

但作为一名好的老师,我希望同学知其然也知其所以然,为什么这样约定的?下面我们来论证一下,由于情况有限,我们可以直接枚举两种情况。(以下的内容可以作为拓展去理解)

先是01的情况,对于双符号位为01,运算的两个数的符号位只可能是00,也就是两个都是正数,所以双符号位为01的情况属于正数溢出,所以右移,把符号位设为00,阶码+1是合理的。

然后是10的情况,对于双符号位10,运算的两个数的符号位只可能是11,也就是两个都是负数,所以双符号位为10的情况属于负数溢出,所以右移,把符号位设为11,阶码+1也是合理的。

希望对你有所帮助。

2
4
慕沐9023737
哇。懂了!! 同学跟老师都很细节
2021-02-06
共4条回复

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程