我需要一个程序从基数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
答案 0 :(得分:2)
从字符变量中选择子字符串的语法使用冒号:
,而不是逗号,
。编译器抱怨的行应该是:
intToChar = cadena(int:int)
这将从int
中选择单个字符作为位置cadena
,这似乎是您使用该功能的目标。