如何在没有转换指令的情况下将整数乘以IEEE双精度?

时间:2012-01-03 08:59:06

标签: assembly mips

我正在寻找一个大致的想法。我知道如何存储IEEE float或double,但我不知道如何将它完全相乘。

我的一个想法是将整数存储为double(在float寄存器中),然后使用普通的双乘法指令。

将IEEE乘以整数时,是否有任何特性?如“你必须只乘以指数”或类似的东西?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

你可以将单精度或双精度浮点数乘以2 ^ n只需将n加到指数上,但对于任何其他乘数值,你也会改变尾数,这显然是非平凡的。

答案 1 :(得分:1)

如果您使用的是x86,则可以使用FIMUL指令,该指令完全符合您的要求。但是当你处于mips状态时,你没有比转换和乘法更好的方法。