数値データの保管方法の制御
データ記述記入項目に USAGE 文節をコーディングすることによって、コンピューターが数値データを保管する方法を制御することができます。
次のような理由から、形式を制御する場合があります。
- 計算データ型で実行される算術の方が、USAGE DISPLAYまたは USAGE NATIONAL データ型での算術より効率的である。
- パック 10 進数形式の方が、USAGE
DISPLAY または USAGE NATIONAL データ型に比べ、1 桁当たりのストレージが少なくて済む。
- パック 10 進数形式の方が 2 進数形式の場合よりも、DISPLAY または NATIONAL 形式との変換が効率的である。
- 浮動小数点形式は、位取りが大きく変化するような算術オペランドおよび結果を格納するのに最適であり、最大数の有効数字が維持される。
- データをあるマシンから別のマシンに移すときに、データ形式を保持する必要がある。
プログラム内で使用する数値データは、COBOL で使用可能な以下の形式のいずれかです。
- 外部 10 進数 (USAGE DISPLAY または USAGE NATIONAL)
- 外部浮動小数点 (USAGE DISPLAY または USAGE
NATIONAL)
- 内部 10 進数 (USAGE PACKED-DECIMAL)
- 2 進数 (USAGE BINARY)
- 固有 2 進数 (USAGE COMP-5)
- 内部浮動小数点 (USAGE COMP-1 または USAGE COMP-2)
COMP
および COMP-4 は BINARY と同義であり、COMP-3 は PACKED-DECIMAL と同義です。
コンパイラーは、表示可能な数値をそれらの数値の内部表現に変換してから、それらを算術演算で使用します。ですから、データ項目を DISPLAY
または NATIONAL ではなく、BINARY
または PACKED-DECIMAL と定義すると、さらに効率的になることがよくあります。以下に、その例を示します。
05 Initial-count Pic S9(4) Usage Binary Value 1000.
どの USAGE 文節を使用して値の内部表現を制御するかにかかわらず、使用する PICTURE 文節の規則および VALUE 文節の 10 進値は同じです (ただし、
内部浮動小数点データの場合は別で、この場合、PICTURE 文節を使用できません)。
例: 数値データおよび内部表現
関連概念
数値データの形式
データ形式の変換
付録C. 中間結果および算術精度
関連タスク
数値データの定義
数値データの表示
算術の実行
関連参照
変換および精度
ゾーン 10 進数およびパック 10 進数データのサイン表記
|