0

可能重复:
如何将浮点数转换为人类可读的分数?

我有一个浮点值0.595781,我想使用一个商尽可能接近它,该商只使用整数分子和分母值,这些值都限制在0 to 1023 (10-bits).

执行此操作(至少开始时)的直观方法是使用595/1000提供0.555相当接近的匹配(错误为0.040781)。

但是有一个更好的匹配597/10020.595808(的错误0.0000273)。也可能有更好的匹配。我通过以一种不相关的方式使分子和分母值接近其原始值来得到第二商。

然后我想知道是否有一种方法可以给定所有标准来直接获取分子和分母整数值。

如果您想知道设置波特率发生器所需的两个整数值Infineon XE167G device

任何想法,将不胜感激。问候

4

1 回答 1

0

如果你使用16-bit整数,你可以只让numerator = 59578分母保持一个功率因数10,例如5。所以答案是59578/(10^5)

使用这种方法,您至少可以保持4精确的位置。只是一个想法...

于 2012-09-27T17:13:41.297 回答