2014-07-14 116 views
0

我有一些浮点数(我不知道float是双精度还是长精度double),我想将它转换为分数。我看看frexp函数,并获得浮点型(FPT)数的尾数和指数。我看看struct numbers_limits<float, double or long double>,我得到这个字段:radix(2),digits(据我所知,它在基地基数),digits10,max_digits10。我认为转换我必须使用max_digits10,但我不确定,不幸的是,我已知的英语不让我明白我必须使用哪个字段来进行最准确的转换。据我所知,尾数总是有限的位总和,但在十进制的基础上,它是无限的小数部分。 无论如何十进制数中有多少位尾数的表示我必须使用从FPT到分数的最准确的转换?将浮点类型转换为分数

或者,也许我必须在尾数找到一个时期,并将其转换为小数作为一个周期性的十进制数?

回答

0

您没有得到答案,因为您在这里以错误的方式行事。大概你试图找到一个理性的代表性10,但漂浮不存储基地10.所以忘记尾数和指数的事情。这里有一个link来回答你的问题。祝你好运!