我正在 Arduino 上编写一些代码,该代码需要快速运行并对整数百分比进行粗略近似。
例如,给定一个数字,我想找到它的 90%、70% 或 30% 等。显而易见的方法是乘以一个浮点数,例如。x * 0.9; 或 x * 0.3;但是因为我需要速度,所以我想避免浮点计算。如果我只是除以 2 的幂,我会进行位移,但是是否有类似的技术可以使用整数来逼近 90%、80% 等?
我正在 Arduino 上编写一些代码,该代码需要快速运行并对整数百分比进行粗略近似。
例如,给定一个数字,我想找到它的 90%、70% 或 30% 等。显而易见的方法是乘以一个浮点数,例如。x * 0.9; 或 x * 0.3;但是因为我需要速度,所以我想避免浮点计算。如果我只是除以 2 的幂,我会进行位移,但是是否有类似的技术可以使用整数来逼近 90%、80% 等?