如何编写给出浮点数的算法,并尝试使用分子和分母(均限于Java字节范围)来尽可能准确地表示?
原因是I2C设备需要分子和分母,而使其具有浮点数却很有意义。
例如,3.1415926535...将导致245/78,而不是314/100或22/7。
3.1415926535...
245/78
314/100
22/7
就效率而言,在程序开始时大约要调用3次,但之后完全没有调用。所以,一个缓慢的算法不是 太 糟糕。
我已经编写了一些代码(甚至使用Java)来完成您所要求的事情。就我而言,我需要显示一个比例因子,既是百分比又是比率。最熟悉的示例是您在图像编辑器(如GIMP)中看到的缩放对话框。
您可以在从1161行开始的updateRatio()方法中在这里找到我的代码。只要LGPL许可证适用于您,就可以简单地使用它。我所做的工作基本上遵循了GIMP中所做的事情- 这是其中只有一种有效,明智的方法可以做到的事情之一。