添加16位浮点数以及如何将其转换回十进制数

时间:2013-07-29 01:42:32

标签: floating-point binary addition

我想通过将23位小数部分更改为7位小数部分,将以下两个数字转换为IEEE浮点标准(FPS)修改(16位),然后将它们相加。但是我不知道我是否已经正确地完成了它以及如何将结果转换回十进制以获得大约28.625

括号中的数字是隐藏位(因为我们将数字转换为例如3.5到11.1 * 2 ^ 0然后转换为1.11 * 2 ^ 1因此我们省略最左边的'1'并将其称为隐藏位)

enter image description here

1 个答案:

答案 0 :(得分:3)

当指数不同时,通过添加有效数字不会添加数字。这就像试图通过添加2525到3375来添加25.25到3.375。它不起作用。您必须通过移动它们并相应地调整指数来对齐相应的位。如果你有这两个数字:

  • 1.1001010 <子> 2 •2 4
  • 1.1011000 <子> 2 •2 1

然后你会调整更小的数字,给出这一对:

  • 1.1001010 2 •2 4 (与原文相同)
  • 0.0011011 2 •2 4 (右移3位,加3指数)

然后你添加它们:

  • 1.1100101 <子> 2 •2 4

然后,您可以根据需要对该数字进行舍入,并将其转换为其他格式。