数字リテラルは、数字、プラス符号、マイナス符号、および小数点から選択される文字列です。
数字リテラルの形成は、次の規則によって規定されています。
リテラルが数字リテラルの形成の規則に従っているものの引用符では囲まれている場合、それは文字定数です。
数字リテラルは、2 進、8 進、または 16 進表記でも指定できます。数字リテラルをこれらのいずれかの形式で指定するには、数字の前に次のいずれかのプレフィックスを付けます。
次に例を示します。
数字 | 2 進 | 8 進 | 16 進 |
---|---|---|---|
3 | B#11 | O#3 | X#3 または H#3 |
8 | B#1000 | O#10 | X#8 または H#8 |
12 | B#1100 | O#14 | X#C または H#C |
128 | B#10000000 | O#200 | X#80 または H#80 |
255 | B#11111111 | O#377 | X#FF または H#FF |
# の後ろの先頭のゼロは無視されます。例えば、X#00FF と X#FF は同じです。
コンパイラは、このようにして指定された各数字リテラルを符号なしの長い整数に変換します。ほとんどの場合、これは 32 ビットの符号なしの数字であるため、この表記で指定できる数字リテラルの最大値は 4294967295、つまり (2**32) -1 です。
LENGTH OF 式は、下付き文字または参照修飾語として使用する場合を除いて、数字リテラルを使用する場合に使用できます。コンパイラは、数字リテラルを符号化した場合と同様にこの式を処理します。 LENGTH OF 式は、次のように書きます。
LENGTH OF data-name
data-name は、数字リテラル、文字定数、または任意のタイプのデータ項目の名前です。data-name が表項目を指す場合、下付き文字を含めることができます。コンパイラは LENGTH OF 式の値を計算し、 LENGTH OF で参照されるデータ項目またはリテラルが使用する保存の現在のバイト数と同等の数字リテラルに置き換えます。. 次に例を示します。
77 my-item PIC x(10). 78 my-item-length value LENGTH OF my-item.
は、次のようになります。
77 my-item PIC x(10). 78 my-item-length value 10.
LENGTH OF 式は、この例で示すように、手続き部でも使用できます。
01 my-data. 03 my-table occurs 20 times. 05 my-element-1 pic x(10). 05 my-element-2 pic 99. MOVE LENGTH OF my-element-1 TO data-size. MOVE LENGTH OF my-table TO data-size. MOVE LENGTH OF my-table(1) TO data-size.
この例では、コンパイラは最初の MOVE を MOVE 10 TO data-size として、2 番目の MOVE を MOVE 240 TO data-size として、3 番目の MOVE を MOVE 12 TO data-size として処理します。
[ + ] k.m { E } [ + ] n [ - ] { e } [ - ]
上記の説明:
次に、浮動小数点の数字の例をいくつか示します。
-12.345e12 .0123E-6 123.E1