Matlab_在数字e的表示中有错误吗?

Pet*_*one 1 floating-point precision matlab

我认为Matlab相对于用于显示数字e的小数位数有问题.如果放

>> sprintf('%.30f',exp(1))

ans =

2.718281828459045500000000000000

enter code here
Run Code Online (Sandbox Code Playgroud)

我认为这是错误的,因为数字并包含无限数量的小数位,而不仅仅是本例中matlab显示的16位.有谁知道如何使用Matlab获得更好的准确性?谢谢.

Oli*_*rth 10

不,没有错误.

默认情况下,Matlab中的数字由双精度浮点表示.它们有52位的尾数,大约相当于16位有效数字.要求Matlab打印出更多的小数位,不会神奇地创造更多的精度.

你不太可能需要更高的精度.