我需要将浮点数转换为类似于标尺测量值的数字。例如:3.75需要转换为3和3/4。然而,这比起初看起来更难,因为我需要将分母保持在一种易于转化为人类统治者测量的形式中。从本质上讲,分母应该只有2的幂,最多16个。我不想要像3/5这样的分数,因为5号没有在标尺上标记。我已经想出如何限制分母超过16,但我无法弄清楚如何将分母保持为2的幂。
首选python或c ++中的答案。
答案 0 :(得分:1)
fractions.gcd
,关于C ++的dunno。答案 1 :(得分:0)
我做了Jhecht所说的,因为使用python词典似乎很容易。