基本转换FORTRAN

时间:2014-08-24 02:55:54

标签: fortran fortran90 gfortran

我需要一个程序从基数a转换为基数b,其中基数a和b可以是2到36。

我的想法是使用字符串作为数字,转换为基数10作为中介,然后从基数10转换为基数b。由于我是Fortran的新手,我无法理解函数和子字符串,现在我收到了错误:

intToChar  = cadena(int,int)
1
Error: Unclassifiable statement at (1)

在下一个代码:

CHARACTER FUNCTION intToChar(int)
    IMPLICIT NONE
    INTEGER, INTENT(IN) :: int
    CHARACTER(LEN = 36) :: cadena

    cadena = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"

    intToChar    = cadena(int,int)
END FUNCTION intToChar

我正在关注此tutorial

1 个答案:

答案 0 :(得分:2)

从字符变量中选择子字符串的语法使用冒号:,而不是逗号,。编译器抱怨的行应该是:

intToChar = cadena(int:int)

这将从int中选择单个字符作为位置cadena,这似乎是您使用该功能的目标。