Поэтому бесполезно отлавливать эти исключения с плавающей запятой. Даже недостаток спорен. Я бы не стал ловить его по умолчанию, но я вижу его полезность.

аюсь прочитать значение с плавающей точкой из входного файла вFortran.

Для этого я использую этот код:

...
INTEGER            :: nf
REAL               :: re

OPEN(newunit=nf, file='toto.txt')

READ(unit=nf, fmt=*) re
...

с toto.txt текстовый файл, содержащий мое реальное значение:

10.1001 ! this value is supposed to be read by the Fortran program 

Если я скомпилирую и выполню так, все будет хорошо.

Но у меня возникают проблемы при компиляции и выполнении сfpe вариант. У меня есть ошибка в строке чтения, которая выглядит следующим образом:

Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation

Backtrace for this error
#0  0xfffffff
#1  0xfffffff
...

Я используюgfortran команда:gfortran -g1 -c -fbacktrace -ffpe-trap=invalid,zero,overflow,underflow,inexact,denormal -Wall -fcheck=all my_prog.f90

Я предполагаю, что мое действие чтения не является правильным. Так это ошибка нормально? Есть ли правильный способ прочитать реальные значения?

Ответы на вопрос(1)

Ваш ответ на вопрос