那么Math中的方程式(如p * 1/p = 1
)将始终保存在计算机中?
答案 0 :(得分:6)
如果你将你的号码存储为分子/分母对,那么,是的,你可以使它无损。
即表示,我的意思是10
除以3
后的数字不是3.3333333
而是存储为{10,3}
。这意味着,当您再次将其乘以3
时,它将变为10
。
当然,这可能不适用于所有边缘情况。你仍然无法表示像PI
这样的无理数或2的平方根,因为它们既不能表示为有限的十进制序列,也不能表示为比率。
但是,对于除法(使用有理数),我无法设想一个不起作用的边缘情况。
答案 1 :(得分:0)
使用任意精度算术库(如GNU GMP)来获得“无限精度”数字。该图书馆位于: