我正在查看分数的二进制数据表示,我想知道如果要存储分数的分子和分母,分数将具有什么样的数据结构。它只是两个没有关系但在计算中使用时合并的单独数字吗?
答案 0 :(得分:3)
如果你想存储有理数而不会丢失精度,正确的方法是存储分子和分母。
实际上,大多数人使用浮点数学或内置/库任意精度数字数据类型(例如Java's BigDecimal)。
如果您特别想要为分数使用数据类型,some languages具有有理数的内置类型。对于大多数其他语言,通常有一个具有可用数据类型的库(例如,对于Java Apache Commons有一个Fraction类,而对于C / C ++,GMP有一个mpq_t datatype)