考研408总结【计组】---数据的表示和运算(下)

947 阅读2分钟

这是我参与11月更文挑战的第11天,活动详情查看:2021最后一次更文挑战

考研倒计时:44天

参考资料: 王道计算机组成考研

上篇和中篇总结了数值与编码以及ALU硬件的内容定点数的运算

本篇总结浮点数的运算作为计组数值这一章的结束。

首先先补充一些中篇的tip:

  • 凡是原码运算,不论加减乘除,符号位都单独处理,其中乘除运算的结果由参加运算的两个操作数符号相异或得到。

  • 无符号整数的加减可以看作正整数的补码加减运算,所以补码加法器既可以实现有符号整数的加减,也可以实现无符号整数的加减运算。(详见【2011年真题】)

  • 熟悉各种溢出判断,比如无符号数加减以及有符号数加减溢出判断,无符号数乘法和有符号数乘法溢出判断。(乘法溢出判断详见【2020年408】真题)

浮点数

IMG_0104.jpeg

需要注意的点:

  • 移码加的是128,而浮点数加的是127. 所以,八位二进制的补码范围为-128~+127,加上128后,它的范围就变成了0~255.

而在IEEE 32位浮点格式中,阶码字段为8位,加的偏置值为127,指数真值e的范围为-127~+128,阶码E的范围为0~255,去除E全0代表非规格数和全1代表无穷大, 所以最后范围为 12541 到254

真正的指数e的范围为-126~127.

这里需额外注意一下,可以做一下 【2017年408】真题

浮点数的加减运算

IMG_0105.jpeg

IMG_0106.jpeg

对于浮点数其他需要关注的点:

  • 规格化,左规相当于乘2,阶码减1;右规相当于➗2,阶码加一。对于原码和补码的规格化都要了解。
  • 溢出判断,比如双符号位补码为例,阶码符号位为01表示上溢,进入中断处理;阶码符号位为10表示下溢,按机器零处理。真实符号和高位符号位一致。
  • 舍入的方法: 0舍1入,可能导致一次右规。

恒置1,同样会使得尾数变大和变小的可能。


部分内容待补充完善~

如有误,请多指正!