Я пытаюсь прочитать значение float из входного файла в Fortran. Для этого я использую этот код: ...
INTEGER :: nf
REAL :: re
OPEN(newunit=nf, file='toto.txt')
READ(unit=nf, fmt=*) re
...
Итак, до 10000 единиц будет добавлено значение 1/10000 10000 раз. Логически это дает 10001. Однако из-за размытия это не происходит, что связано с ограничениями хранения. Результат 10000.999999992928.
Пока используется точка с плавающей запятой, 0,1 не может быть точно указана в памяти, поэтому мы знаем, что это значение обычно достигает 0,10000000000000004. Но при использовании следует добавить 0,