Sun Studio 12:Fortran 用户指南

4.2.1 布尔类型

f95 支持布尔类型的常量和表达式。但是,没有布尔变量或数组,也没有布尔类型语句。

4.2.1.1 控制布尔类型的各种规则

4.2.1.2 布尔常量的替代格式

f95 允许使用以下替代格式(没有二进制)的布尔常量(八进制、十六进制或霍尔瑞斯)。不能将变量声明为布尔型。标准 Fortran 不允许使用这些格式。

八进制

ddddddB,其中 d 是任意八进制数字

在 I/O 格式规范中,字母 B 表示二进制数字;而在其他地方则表示八进制数字。

十六进制

X'ddd'X"ddd",其中 d 是任意十六进制数字

霍尔瑞斯

接受的霍尔瑞斯数据格式为:

nH

’H

""H

nL

’L

""L

nR

’R

""R

上面的 "…" 是字符串,n 是字符数。

示例:八进制和十六进制常量。

布尔常量 

32 位字的内部八进制数 

0B

00000000000

77740B

00000077740

X"ABE"

00000005276

X"-340"

37777776300

X’1 2 3’

00000000443

X’FFFFFFFFFFFFFFFF’

37777777777

示例:赋值语句中的八进制和十六进制数。


i = 1357B
j = X"28FF"
k = X’-5A’

在算术表达式中使用八进制或十六进制常量可产生未定义的结果,并且不会生成语法错误。

4.2.1.3 布尔常量的替代上下文

f95 允许在非 DATA 语句中使用 BOZ 常量。

Bbbb

Oooo

Zzzz

B"bbb"

O"ooo"

Z"zzz"

如果将它们赋值给实数变量,则不进行类型转换。

标准 Fortran 只允许在 DATA 语句中使用它们。