将浮点类型转换为分数

时间:2014-07-14 04:23:45

标签: c++

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

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

1 个答案:

答案 0 :(得分:0)

你没有得到答案,因为你在这里走错路。据推测,你试图在基数10中找到一个合理的表示,但浮点数不存储在10中。所以忘记尾数和指数的东西。这是你问题答案的link。祝你好运!

相关问题