我正在寻找一个大致的想法。我知道如何存储IEEE float或double,但我不知道如何将它完全相乘。
我的一个想法是将整数存储为double(在float寄存器中),然后使用普通的双乘法指令。
将IEEE乘以整数时,是否有任何特性?如“你必须只乘以指数”或类似的东西?
非常感谢任何帮助。
答案 0 :(得分:3)
你可以将单精度或双精度浮点数乘以2 ^ n只需将n加到指数上,但对于任何其他乘数值,你也会改变尾数,这显然是非平凡的。
答案 1 :(得分:1)
如果您使用的是x86,则可以使用FIMUL
指令,该指令完全符合您的要求。但是当你处于mips状态时,你没有比转换和乘法更好的方法。