Fortran: el entero más grande y el más pequeño
Fortran es completamente nuevo para mí, ¿alguien puede ayudarme a resolver el siguiente problema? Quiero encontrar todos los números de tipo entero y el valor más grande y más pequeño para cada número de tipo en mi PC. Tengo el siguiente código:
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
Los números enteros que obtengo son: 1,2,4,8.
Por qué cada número entero más grande para cada número es el mismo:2147483647
? ¿Y hay una función intrínseca para el entero más pequeño?
¿Cómo puedo mantener el número entero cuando la subrutinarang
¿se llama? Creo que es la clave del entero más grande.