我在寻找一个大概的想法。我知道IEEE的浮点数或双精度数是如何存储的,但我不知道如何准确地将其相乘。
我的一个想法是将整数存储为double (在浮点寄存器中),然后使用普通的double乘法指令。
当将IEEE双精度乘以一个整数时,有什么特征属性吗?就像“你只需将指数相乘”或类似的东西?
任何帮助都将不胜感激。
发布于 2012-01-03 17:16:29
您可以将单精度或双精度浮点数乘以2^n,只需将n添加到指数,但对于任何其他乘数值,您也将更改尾数,这显然不是微不足道的。
发布于 2012-01-03 18:08:39
如果您使用的是x86,则可以使用FIMUL
指令,它可以执行您想要的操作。但是当你使用mips时,对于一般情况,没有比转换和乘法更好的方法了。
https://stackoverflow.com/questions/8709879
复制相似问题