例如,在Mma中,我想计算
1.0492843824838929890231*0.2323432432432432^3
但它没有显示完整的精度。我尝试了N
或其他各种功能,但似乎都没有。怎么做到这一点?非常感谢。
答案 0 :(得分:3)
当您使用小数点指定数字时,它们需要MachinePrecision
,大约16位数,因此结果通常少于16个有意义的数字。通过使用有理数/代数数,可以实现无限精度。如果您希望有限精度优于默认值,请指定您的数字
123.23`100
这使得Mathematica将数字解释为具有100位精度。所以你可以做到
ans=1.0492843824838929890231`100*0.2323432432432432`100^3
使用Precision
Precision[ans]
查看tutorial/ArbitraryPrecisionNumbers
了解详情
答案 1 :(得分:1)
您可以这样做:
r[x_]:=Rationalize[x,0];
n = r@1.0492843824838929890231 (r@0.2323432432432432)^3
输出:
228598965838025665886943284771018147212124/17369643723462006556253010609136949809542531
现在,例如
N[n,100]
0.01316083216659453615093767083090600540780118249299143245357391544869\
928014026433963352910151464006549
答案 2 :(得分:0)
有时你只想看到更多的机器精度结果。这些是一些方法。
(1)将光标放在输出行的末尾,然后按Enter(不在数字键盘上)将输出复制到新的输入行,显示所有数字。
(2)在InputForm[1.0/7]
(3)使用选项检查器更改PrintPrecision
的设置。