51要计数浮点和一个16位数的乘法,怎么破..........

2020-01-23 14:43发布

8位的51,要计算一个16位整数和一个比较小的小数(0.03XXXXXXX)的乘法,
我是直接乘呢还是有什么方法可以提供一下效率啊,小数太小,放大太多怕溢出啊
乡亲们,求支招
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
苦行僧
2020-01-24 21:40
zhugean 发表于 2014-4-23 08:38
给你一个绝好的办法,也是汇编里常用的做法,先用0.3xxx * 65536得到A,然后用A乘16位整数,得到4字节数, ...

也就是先放大,取高两个字节就是右移16位,相当于除65536
恩,我现在好像也是这么做的,不过我是放大1000000倍,把小数的各个位取出来了再做乘法,不知道这样效率是有没有比直接两个整数相乘高一点

一周热门 更多>