我想编写一段代码,它可以找到我机器的所有可用整数类型并打印所有它们的范围。找到种类并不是困难的部分,使用selected_int_kind
我能够迭代所有可用的种类数,直到我得到一个 -1 值,表明编译器不再可以表示整数。
例如,此过程产生了一个可用种类编号的数组 (/ 1 2 4 8 16/)
(这是我的 gfortran 编译器的结果)
下一步是使用这个数组来定义 5 种不同的整数,并询问最大可表示的整数是多少。我的想法是使用一个可分配的整数,并且每次都使用其他类型的参数来分配它,比如
program main
integer,allocatable :: i
integer::j
integer,dimension(:)::nb_kind
call give_me_the_kinds(nb_kind)
for j=1,size(nb_kind)
allocate(i,kind=nb_kind(j))
print *,huge(i)
deallocate(i)
end program
但这对我不起作用。有没有人有这方面的经验?我认为可以做到,但我不知道该怎么做。