我有一个 64 位的 linux 系统。我使用 gfortran 编译并运行我的 Fortran 代码,这会将一些数字输出为双精度,即 ~ 16 位小数。例如
gfortran some_code.f -o executable1
./executable1
10.1234567898765432
如果我现在使用标志-fdefault-real-8进行编译,则 Fortran 双精度类型将提升为 16 字节 = 128 位并输出一些数字,但精度更高 ~ 33 位小数。例如
gfortran -fdefault-real-8 some_code.f -o executable2
./executable2
10.12345678987654321234567898765432
我的问题是:如果我的计算机只有 64 位,这个计算怎么能做到如此高精度?