Фортран: наибольшее и наименьшее целое число
Фортран для меня совершенно новый, кто-нибудь может мне помочь решить следующую проблему? Я хочу узнать все целые числа вида, а также самое большое и наименьшее значение для каждого вида на моем компьютере. У меня есть код, указанный ниже:
program intkind
implicit none
integer :: n=1
integer :: integer_range =1
do while(integer_range /= -1)
print*, "kind_number ", selected_int_kind(n)
call rang(integer_range)
n = n *2
integer_range = selected_int_kind(n)
end do
contains
subroutine rang(largest)
integer largest
print*, huge(largest)
end subroutine
end
Целые добрые числа, которые я получаю: 1,2,4,8.
Почему каждое наибольшее целое число для каждого вида одинаково:2147483647
? И есть ли встроенная функция для наименьшего целого числа?
Как я могу сохранить целочисленный добрый номер, когда подпрограммаrang
называется? Я думаю, что это ключ к наибольшему целому числу.