gpt4 book ai didi

performance - 计算百分比的浮点乘法的快速替代方法

转载 作者:行者123 更新时间:2023-12-05 00:35:58 25 4
gpt4 key购买 nike

我正在一个 Arduino 上编写一些代码,它需要快速运行并粗略估计整数的百分比。

例如,给定一个数字,我想找到它的 90%,或 70% 或 30% 等。显而易见的方法是乘以浮点数,例如。 x * 0.9;或 x * 0.3;但是因为我需要速度,所以我想避免浮点计算。如果我只是除以 2 的幂,我会按位移位,但是是否有类似的技术使用整数来逼近 90%、80% 等?

最佳答案

您可以使用具有 2 次幂分母的分数来近似这些百分比。

这是一个简单的例子,带有 2^16 :

90% = 90 / 100 ~ 58982 / 65536
70% = 70 / 100 ~ 45875 / 65536
30% = 30 / 100 ~ 19661 / 65536

x% = x / 100 ~ x * 655 / 65536

除法(现在是 2 的幂)可以通过轮类来完成。

当然,生成这些分数可能需要一些预先计算。

关于performance - 计算百分比的浮点乘法的快速替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8859589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com