浮動小数点数

この COBOL システムには、IEEE 浮動小数点サポートがあります。これは、Microsoft で提供される各種言語 (Microsoft Visual C++ V6.0 など) と完全に互換性があります。

浮動小数点値は次の範囲内になければなりません。

COMP-1 データの場合 8.43E-37 から 3.37E38
  -8.43E-37 から -3.37E38
COMP-2 データの場合 4.19E-307 から 1.67E308
  -4.19E-307 から -1.67E308

上記の範囲は内部的にサポートされますが、この COBOL システムでは 2 桁の指数しかサポートされないため、実際の範囲は次のようになることに注意してください。

COMP-2 データの場合 4.19E-99 から 1.67E99
  -4.19E-99 から -1.67E99

浮動小数点値の精度は次のようになります。

COMP-1 データ (4 バイト) の場合 6 から 7 の有効桁
COMP-2 データ (8 バイト) の場合 15 から 16 の有効桁
リテラルの場合、浮動小数点値は次の範囲内になければなりません。
  • 0.54E-78 から 0.72E+76
  • -0.54E-78 から -0.72E+76

UNIX では、COBOL プログラムと非 COBOL プログラムの間での浮動小数点 (COMP-1 および COMP-2) 項目の受け渡しはサポートされていません。次の文では、data1 が浮動小数点項目である場合に、不定の動作が発生します。

非 COBOL プログラムを呼び出す COBOL プログラムでは、次のようになります。

CALL "program" USING BY VALUE data1.
CALL "program" RETURNING data1
In a COBOL program called from a non-COBOL program:

PROCEDURE DIVISION USING BY VALUE data1.
ENTRY "entry" USING BY VALUE data1.
EXIT PROGRAM RETURNING data1.
GOBACK RETURNING data1.