Sun Studio 12:Fortran 库参考

1.4.33 longshort:整型对象转换

longshort 处理 INTEGER*4INTEGER*2 之间的整型对象转换,在子程序调用列表中特别有用。

1.4.33.1 long:将短整型转换为长整型

该函数的调用方式如下所示:

call ExpecLong( long(int2) )

int2

INTEGER*2

输入 

返回值 

INTEGER*4

输出 

1.4.33.2 short:将长整型转换为短整型

该函数为:

INTEGER*2 short

call ExpecShort( short(int4) )

int4

INTEGER*4

输入 

返回值 

INTEGER*2

输出 

示例(片段):long()short()


       integer*4 int4/8/, long
       integer*2 int2/8/, short
       call ExpecLong( long(int2) )
       call ExpecShort( short(int4) )
       …
       end

ExpecLong 是用户程序调用的某子例程,要使用 long (INTEGER*4) 整型参数。而类似的子例程 ExpecShort 要使用 short (INTEGER*2) 整型参数。

如果在库例程调用中使用了常量且编译代码时使用了 -i2 选项,long 很有用。

在长型对象必须作为短整型传递的这类上下文环境中,short 很有用。将整数传递给幅度太大的短整型虽然不会导致出现错误,但会导致出现未预料的行为。