Fortran: целое число слишком велико для своего вида

fortran

2274 просмотра

1 ответ

432 Репутация автора

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

program max_int

integer, parameter :: i32 = selected_int_kind(32)

integer(kind = i32) :: my_int

!The largest integer of this kind
print*, huge(my_int)

!This works
my_int = 100000

!This doesn't, and gives an error.
!my_int = 1000000000000

print*, my_int

end program
Автор: astromonerd Источник Размещён: 18.09.2013 11:40

Ответы (1)


6 плюса

634 Репутация автора

Решение

Вам нужно присоединить i32к 1000000000000нравится это: 1000000000000_i32. Гфортран жалуется на то, что число слишком велико для его вида. 1000000000000короткое целое, а не супер длинное целое. 1000000000000_i32это супер длинное целое число. Он не жалуется на переменную, он жалуется на постоянную.

Автор: dwwork Размещён: 19.09.2013 12:11
Вопросы из категории :
32x32