📜  计算机算术|套装– 2

📅  最后修改于: 2021-06-28 15:47:01             🧑  作者: Mango

浮点数加减法

  • 浮点数加法

为了理解浮点加法,首先我们看到十进制的实数加法,因为在两种情况下都应用了相同的逻辑。

例如我们必须添加1.1×10 350。

我们无法直接添加这些数字。首先,我们需要对齐指数,然后,我们可以添加有效位数。

对齐指数后,我们得到50 = 0.05 * 10 3

现在增加有效数0.05 + 1.1 = 1.15

因此,最后我们得到(1.1 * 10 3 + 50)= 1.15 * 10 3

在这里,请注意,我们将这些数字相加了50设为0.05。

现在,让我们浮点数加采取例如

我们按照以下步骤添加两个数字:

1.对齐有效位数

2.添加有效位数

3.归一化结果

两个号码

x = 9.75
y = 0.5625

将它们转换为32位浮点表示形式,

9.75的32位格式表示形式= 0 10000010 00111000000000000000000

0.5625的32位格式表示= 0 01111110 00100000000000000000000

现在我们得到指数的差异,知道需要多少位移。

( 10000010 – 01111110 ) 2 =( 4 ) 10

现在,我们将较小数字的尾数右移4个单位。

尾数0.5625 = 1.00100000000000000000000

(请注意,小数点前的1以32位表示形式被理解)

向右移动4个单位,我们得到0.00010010000000000000000

尾数为9.75 = 1。00111000000000000000000

两者的尾数相加

0。00010010000000000000000

+ 1. 00111000000000000000000

————————————————

1. 01001010000000000000000

在最终答案中,我们采用更大的指数

因此,最终答案包括:

符号位= 0

较大的指数= 10000010

尾数= 01001010000000000000000

答案的32位表示形式= x + y = 0 10000010 01001010000000000000000

  • 浮点减法

减法类似于加法,但有一些区别,例如我们不像加法那样减去尾数,并且在符号位中放置了更大的符号。

两个号码

x = 9.75
y = – 0 .5625

将它们转换为32位浮点表示形式

9.75的32位格式表示形式= 0 10000010 00111000000000000000000

– 0.5625的32位格式表示= 1 01111110 00100000000000000000000

现在,我们找到指数的差异,以了解需要多少移位。

( 10000010 – 01111110 ) 2 =( 4 ) 10
现在,我们将较小数字的尾数右移4个单位。

的尾数 0.5625 = 1.00100000000000000000000

(请注意,小数点前的1以32位表示形式被理解)

向右移动4个单位, 0.00010010000000000000000

尾数为9.75 = 1。00111000000000000000000

减去两个的尾数

0。00010010000000000000000

– 1. 00111000000000000000000

————————————————

1. 00100110000000000000000

较大的符号位= 0

因此,最终答案= x – y = 0 10000010 00100110000000000000000
最后的

本文由Anuj Batham提供。