Fortran: o maior e o menor número inteiro
Fortran é completamente novo para mim, alguém pode me ajudar a resolver o problema que se segue? Quero descobrir todos os números inteiros do tipo e o maior e menor valor para cada número do tipo no meu pc. Eu tenho o código listado abaixo:
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
Os números inteiros do tipo que recebo são: 1,2,4,8.
Por que cada número inteiro maior para cada número de tipo é o mesmo:2147483647
? E existe uma função intrínseca para o menor número inteiro?
Como posso manter o número inteiro do tipo quando a sub-rotinarang
é chamado? Eu acho que é a chave para o maior número inteir