Фортран: наибольшее и наименьшее целое число

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

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.

  1. Почему каждое наибольшее целое число для каждого вида одинаково: 2147483647? И существует ли встроенная функция для наименьшего целого числа?

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

11
задан francescalus 4 March 2015 в 14:50
поделиться