Числовая точность в Фортране 95:
У меня есть следующий код Fortran:
Program Strange
Real(Kind=8)::Pi1=3.1415926535897932384626433832795028841971693993751058209;
Real(Kind=8)::Pi2=3.1415926535897932384626433832795028841971693993751058209_8;
Print*, "Pi1=", Pi1;
Print*, "Pi2=", Pi2;
End Program Strange
Я компилирую с gfortran, и вывод:
Pi1= 3.1415927410125732
Pi2= 3.1415926535897931
Конечно, второе правильно, но так ли это? Кажется, что Pi1 вводится в память как число с одинарной точностью, а затем помещается в слот памяти двойной точности. Но это кажется мне ошибкой. Я прав?