将浮点型转换为分数型

Conversion a float-pointing types to a fraction

本文关键字:数型 转换 浮点型      更新时间:2023-10-16

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

或者我必须在尾数中找到一个句号,并将其转换为分数作为周期十进制数?

你得不到答案是因为你走错了路。假设您试图找到以10为基数的合理表示,但浮点数不是以10为基数存储的。忘掉尾数和指数吧。这是你问题的答案链接。好运!