使用if--else if--else判断数值区间的优化
数值区间:A=,两个数值之间的间隔很小,并且间隔是无序的。单片机检测到数据B,需要判断B属于在A区间的哪个范围内,请问除了最简单的多个if-else if-else if.........else方法,还有其它有效的算法吗?谢谢解答!!二分法 庄永 发表于 2023-7-27 17:52
二分法
数据间隔太小了,而且间隔是变化的。有的数据间隔为0.0001或是0.003 坚持再坚持 发表于 2023-7-27 17:56
数据间隔太小了,而且间隔是变化的。有的数据间隔为0.0001或是0.003
多小都可以用二分法,小到最低精度就认为是相等的 可以参考插入排序的方法试试,不过如果只是比较单片机检测到的一个数值在数组中的位置,估计二分法是最快的吧,不用遍历数组。 Blake 发表于 2023-7-28 09:16
可以参考插入排序的方法试试,不过如果只是比较单片机检测到的一个数值在数组中的位置,估计二分法是最快的 ...
好的,谢谢
页:
[1]