IEEE754增加了一个负数

时间:2018-02-26 19:56:51

标签: math floating-point ieee-754

我必须添加这两个IEEE754号码:

-0,375 = 1 0111 1101 100 0000 0000 0000 0000 0000 // 
8,5 = 0 1000 0010 000 1000 0000 0000 0000 0000

我可以添加两个正数,但如果一个是负数,我不知道该怎么做!我不允许减去,它必须是一个额外的!!

1 个答案:

答案 0 :(得分:0)

符号位:1 - >负

指数:01111101 = 125 - 127 = -2(指数当然是2的幂)。

尾数:1000 ...... = 1.1 base 2 = 1.5

-1.5 x 2 ^( - 2)= -0.375

符号位:0 - >正。

指数:10000010 = 130 - 127 = 3.

尾数:00010 ... = 1.0001 base 2 = 1.0625

1.0625 x 2 ^ 3 = 8.5

排队指数:我将-0.375指数移动5以使其具有与8.5相同的指数: -0.375移位后的尾数:0.000011

接下来,我给两个mantissas提供相同数量的二进制数字,并在它们之前加上一个额外的零。 01000100和00000011.他们有8的事实是巧合。这些不是字节!使用mantissas中必要的数字。

由于第二个应该是否定的,请采取2的赞美:11111101

添加:

01000100

11111101

101000001

当一个为正且一个为负时,丢掉额外的前导位:01000001

由于最左边的位为0,我们有一个正数,这应该是有意义的。剥离它以留下我们在转移指数后开始的七个有效二进制数字:1000001

由于左位是一位,我们很好。我们有1.000001。如果你添加了#39;一个更大的负数,这个左位将变为零,我们将不得不改变指数。但我们没有。所以......,它是正数(0),指数为3(10000010)我们有:

0 1000 0010 000001000000 ........

恰好是8.125