Фортран для меня совершенно новый, может ли кто-нибудь помочь мне решить следующую проблему? Я хочу узнать все числа целых чисел, а также наибольшее и наименьшее значение для каждого числа вида на моем компьютере. У меня есть код, указанный ниже:
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
? Я думаю, что это ключ к наибольшему целому числу.