整定数

整定数とは,小数点を含まない数字です。先頭に符号を持つことができ,10 進数として解釈されます。

整定数の形式は次のとおりです。

[s]n[n...][_k]

s
符号。負符号 (-) は必須,正符号 (+) は省略可能です。

n
10 進の数字 (0 ~ 9)。先頭のゼロは無視されます。

k
省略可能な種別パラメタ。1 は INTEGER(1),2 は INTEGER(2),4 は INTEGER(4),8 は INTEGER(8) を表します。先頭に下線 (_) を付ける必要があります。

符号なし定数は負でない値と仮定されます。

整数は基本設定では 10 進値で表現されます。10 進以外の定数を宣言するには,次の構文を使用します。

[s][[base] #]nnn...

s
省略可能な正符号 (+) または負符号 (-)。

base
2 ~ 36 の任意の定数。

base が省略されているが,# が宣言されている場合,整数は 16 進として解釈されます。base# の両方が省略されている場合,整数は 10 進として解釈されます。

base が 11 ~ 36 の場合,英字 A ~ Z は 9 よりも大きい数字を表します。たとえば base 36 の場合,A は 10,B は 11,C は 12 を表し,Z は 35 を表します。英字の大文字小文字は区別されません。

以下に,10 進の整定数として有効な例と無効な例をいくつか示します。

有効
0
-127
+32123
47_2
 
無効 説明
9999999999999999999 数が大きすぎます。
3.14 小数点は使用できません。これは REAL 定数としては有効です。
32,767 コンマは使用できません。
33_3 3 は整数型の種別値としては無効です。

以下に示す整数 (ほとんどは 10 進数ではありません) には,いずれも 10 進の 3,994,575 に等しい値が代入されています。

	I     = 2#1111001111001111001111
	m     = 7#45644664
	J     = +8#17171717
	K     = #3CF3CF
	n     = +17#2DE110
	L     = 3994575
	index = 36#2DM8F

整定数を使って,データに値を代入することができます。次の表は,さまざまなデータに代入を行ったときの,データに含まれる整数値と 16 進値を示しています。

Fortran の代入		データに含まれる整数値	データに含まれる 16 進値

LOGICAL(1)X
INTEGER(1)X

X = -128			  -128			Z'80'
X = 127				   127			Z'7F'
X = 255				    -1			Z'FF'

LOGICAL(2)X
INTEGER(2)X

X = 255				   255			Z'FF'
X = -32768			-32768			Z'8000'
X = 32767			 32767			Z'7FFF'
X = 65535			    -1			Z'FFFF'