浮点数计算在软考中的考查形式一般为选择题,要求选择正确的或者错误的是什么,所以需要学习浮点数的基本运算流程。 另外在本科《计算机组成原理》中还学过
IEEE754单精度
浮点数运算,所以一块复习。
科学计数法是在数学中对数值的一种表示方式,通常的表示形式为 a×10^b
(或 aEb
),其中 a 大于等于 1 小于 10,指数固定为 10
。
因为在某些场景下,有些较大或较小的数值表示不太方便,如 ACM 中常用的取余数 1000000007
,ACMer 们通常看见这么多零,很容易数错,所以在题目中一般表示为 1E9
。
对于很小的数也是一样,比如 0.00000198
,我们通常表示为 1.98 x 10^-6
,而不是直接写这么多小数点的数值。
在对使用了科学计数法的数值进行加法运算时,需要先对阶。
比如一个数 A 是 1023000000
,我们将它表示为 1.023 x 10^9
。
比如一个数 B 是105600000
,我们将它表示为 1.056 x 10^8
。
我们不能直接对 A 和 B 进行相加,因为它们的 阶级
(专用名词为基数
)不一样,A 是 9
次方,B 是 8
次方。
所以我们要进行对阶操作,而且是小阶向大阶对齐(为了避免计算后的结果格式化)。
在进行 A + B 的计算中,因为 B 的阶乘(8)要小于 A 的阶乘(9),所以临时将 B 的数值改为 0.1056 x 10^9
。
接着再对尾数进行相加,即 1.023
+ 0.1056
= 1.179
。
最后再套上阶乘,结果就是 1.179 x 10 ^9
,计算完毕。
IEEE754 单精度浮点数运算可以解决浮点数进制转换的问题,具体流程如下图所示。
本文对浮点数计算流程和 IEEE754 进行了复习,主要是要了解浮点数对接和尾数相加的流程。