f95 では、ブール型定数 (8 進、16 進、ホレリス) を、次のような書式 (2 進ではありません) で使用することができます。ただし変数はブール型として宣言できません。標準の Fortran では、このような書式は許されていません。
B または b のどちらの文字を使用してもかまいません。
1 桁から 11 桁までの 8 進数 (0 から 7) を使用できます。
11 桁の 8 進数は 32 ビットの完全なワードを表します。 左端の数字は常に 0、1、2、3 のいずれかです。
8 進の個々の数字は 3 ビットの値を表します。
右端の桁は、右 3 ビット (29、30、31 ビット) の内容を表します。
11 桁未満の場合は、値は右揃えになります。ワードの右端にある n ビットから 31 ビットまでが使用され、それ以外のビットは 0 になります。
空白は無視されます。
入出力の書式指定では、B という文字は 2 進数であることを示しますが、それ以外の場合は 8 進数であることを表します。
d が任意の 16 進の数字である X’ddd’ または X"ddd" の書式です。
1 桁から 8 桁までの 16 進数 (0 から 9、A から F) を使用できます。
文字は大文字でも小文字でもかまいません (X、x、A から F、a から f)。
数字は引用符 (アポストロフィ) または二重引用符で囲む必要があります。
空白は無視されます。
16 進数の始めに + か - の記号を付けてもかまいません。
8 桁の 16 進数は 32 ビットの完全なワードを表しています。 この 32 ビットワードの各ビットの内容は、同じ値を表す 2 進数に対応しています。
8 桁未満の場合は、値は右揃えになります。ワードの右端にある n ビットから 31 ビットまでが使用され、それ以外のビットは 0 になります。
ホレリスデータには、次の書式を使用できます。
nH… |
’…’H |
"…"H |
nL… |
’…’L |
"…"L |
nR… |
’…’R |
"…"R |
前述の「…」は文字列を表し、n は文字数を表します。
例: 8 進と 16 進の定数の表現例を示します。
ブール型定数 |
1 ワード 32 ビットでの内部の 8 進数 |
---|---|
0B |
00000000000 |
77740B |
00000077740 |
X"ABE" |
00000005276 |
X"-340" |
37777776300 |
X’1 2 3’ |
00000000443 |
X’FFFFFFFFFFFFFFFF’ |
37777777777 |
例: 代入文での 8 進と 16 進の使用例を示します。
i = 1357B j = X"28FF" k = X’-5A’ |
算術式の中で 8 進数または 16 進数の定数を使用すると、結果が未定義になることがあります。 ただし、構文エラーにはなりません。