整定数とは,小数点を含まない数字です。先頭に符号を持つことができ,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'