欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

计算机组成原理:浮点数的加、减、乘、除运算(含实例完整运算)

发布时间:2024/1/1 编程问答 30 豆豆
生活随笔 收集整理的这篇文章主要介绍了 计算机组成原理:浮点数的加、减、乘、除运算(含实例完整运算) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目录

浮点数的加减运算

零操作数的判断

对阶操作

尾数的加减操作

尾数的规格化

 结果的舍入处理

 结果的溢出判断

加减实例运算过程

浮点数的乘除法

零操作数的检查

阶码的加减操作

尾数的乘除操作

结果的规格化、舍入处理及溢出的判断

具体的操作如下图

 乘除实例运算过程


浮点数的加减运算

 零操作数的判断

一个操作数为零,也不必计算,节省时间

  • 若加数或被加数其中有 0,则等于其中不为0 的那个数;若全为 0 则等于 0
  • 若被减数为 0,则等于减数的相反数 ;若减数为 0,则等于被减数 ,若全为0则等于0

对阶操作

  • 以阶码加大(绝对值)的为标准,阶码较小的   向较大的对齐

  •  目的:计算机中的浮点数定点表示时小数点的位置是固定的,在小数的数值位的最前面,为了避免阶码较大的浮点数尾数左移导致最高位的丢失

 如x 的阶码为 Ex=010,y的阶码Ey=100,则Ex-Ey =-2,则x 右移两位,阶码加2,这时x 和y 的阶码都是100,这个过程就是对阶

尾数的加减操作

双符号位的补码形式进行运算,方便判断溢出的情况

其中若符号位的最高位还有进位则直接舍弃,因为机器的位数是有限制的

尾数的规格化

  • 尾数的符号位为 01 或 10的情况,则进行右规,阶码加一,将符号位变成 00 或 11 ,其中符号位的新数继承前一位符号位
  • 尾数下溢时,进行舍入处理

 结果的舍入处理

在对阶或者右规操作时,尾数的低位会移出,影响精度,因此要进行舍入处理

  • 0 舍 1 入法:若低位是 0 ,则直接舍弃,若低位是1 ,则尾数加 1 
  • 恒置 1 法:无论地位是什么,最低位恒置为 1
  • 第一种方法精度较高,但需要记录移出的值;第二种方法精度较低,但方便,适合用来制作运算器

 结果的溢出判断

  • 尾数溢出,在规格化时右规处理或者是舍入处理
  • 阶码上溢时,置上溢标志
  • 阶码下溢时,置为机器数 0

加减实例运算过程

注意:求得的都是补码,要转化为原码的形式,才是真实的结果值

浮点数的乘除法

零操作数的检查

若有零,则直接可得结果为零

阶码的加减操作

  • 以补码或移码的形式,进行加减
  • 若为乘法,则两者相加
  • 若为除法,则被除数的阶码减除数的阶码

尾数的乘除操作

定点数的乘除操作

具体操作戳这里👇

定点数的乘除运算法则(含实例运算过程)

结果的规格化、舍入处理及溢出的判断

同上面加减的操作

具体的操作如下图

 乘除实例运算过程

  • 乘法

  • 除法 

关于双符号位的补充请见
https://blog.csdn.net/m0_51783792/article/details/123985218https://blog.csdn.net/m0_51783792/article/details/123985218

总结

以上是生活随笔为你收集整理的计算机组成原理:浮点数的加、减、乘、除运算(含实例完整运算)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。