中間結果

式が評価されると、1 つ以上の中間結果が出される。概念的には、各中間結果は一時データ項目に格納され、その値は ARITHMETIC コンパイラ指令で選択したパラメーターによって決まる。

ARITHMETIC"MF" コンパイラ指令を選択する場合、Micro Focus COBOL システムは、各中間結果を十進 40 桁の内部浮動小数点レジスタを使用して評価する。ゼロでない各中間結果の最上位桁は、このレジスタの最上位桁に位置指定される。小数点位置は、値に応じて変動する。中間結果の桁数が多すぎる場合は、40 桁に切り捨てられる。

ARITHMETIC"TRUNC20" コンパイラ指令を選択すると、Micro Focus COBOL システムは、式の評価の各段階で小数点の右側の桁数が 20 に切り捨てられる点を除き、ARITHMETIC"MF" を選択した場合と同じ方法で各中間結果を評価する。この指令は、COBOL WorkBench で提供されるものと同じ切り捨てが必要な場合にのみ使用する。この指令を使用する場合、システム制限は 38 桁であるが、この制限は ARITH 指令および DIALECT 指令の影響を受ける可能性がある。

OS/VS COBOL、VS COBOL II、DOS/VS COBOL、COBOL/370、および OS/390 システムでは、式内の作用対象のピクチャによって決まる精度で中間結果を計算する。ルールは COBOL のバージョンごとに若干異なり、『IBM VS COBOL for OS/VS』マニュアル、『VS COBOL II Application Programming Guide』、および『COBOL for OS/390 & VM V2R2 Programming Guide』の付録に記載されている。各中間結果には、9(n)V9(m) のピクチャが含まれる。n+m の最大値は、システムおよび選択した数字のオプションによって 30 または 31 になる。

中間結果に OSVS または VSC2 オプションを指定する場合、この COBOL システムは、その結果を適宜切り捨てて、選択したメインフレームの動作をエミュレートするが、以下の制限がある。