我有一个浮点值说0.595781
我希望使用仅使用整数分子和分母值的商来尽可能接近,这两个值都在0 to 1023 (10-bits)
的范围内。
执行此操作的直观方式(至少开始)将使用595/1000
,0.555
提供相当接近的匹配(错误为0.040781
)。
但是597/1002
的匹配更好,即0.595808
(错误为0.0000273
)。也可能有更好的比赛。我通过以不连续的方式使用接近原始值的分子和分母值来达到第二个商。
然后我想知道是否有一种方法可以直接获得分子和分母整数值的所有标准。
如果需要设置两个整数值来设置Infineon XE167G device
的波特率生成器。
任何想法都将不胜感激。 此致
答案 0 :(得分:0)
如果您使用的是16-bit
个整数,则可能只有numerator = 59578
和分母只能保持功率因数10
,例如5
。所以答案是59578/(10^5)
。
使用这种方法,您至少可以保持4
个精确位置。
只是一个想法...