Float Decimal (p) DFP、IEEE-754-2008

重要: 本トピックは、早期採用者製品 (Early Adopter Program; EAP) リリース ステータスの機能に該当します。機能の最終版については、今後リリースする予定です。詳細については、Micro Focus カスタマー ケア までお問い合わせください。

IEEE-754-2008 の 10 進浮動小数点 (DFP) は、プラットフォームに関係なく同一の正確な計算を実現する IEEE 標準です。この標準では、データを Densely Packed Decimal (DPD) 形式または Binary Integer Decimal (BID) 形式で保持できます。

Densely Packed Decimal (DPD) 形式および Binary Integer Decimal (BID) 形式

Enterprise Developer では、Intel がオープン ソース ソフトウェアとして提供する DFP Binary Integer Decimal (BID) ライブラリを、Micro Focus の実装で 10 進浮動小数点をサポートするための基盤となるソフトウェアとして使用します。Micro Focus の実装には次の主な特性があります。

  • Densely Packed Decimal (DPD) は、Intel プラットフォームでは常にビッグエンディアン形式で格納されます。この形式はメインフレームと互換性があります。
  • Binary Integer Decimal (BID) 形式は、Intel プラットフォームでは常にリトルエンディアン形式で格納されます。BID 形式は DPD 形式とは異なり、格納形式がビッグエンディアンかリトルエンディアンかに関係なく、メインフレームと互換性がありません。
  • いくつかの例外を除いて、データ操作は常に BID 形式のネイティブ データを使用して行われます。
  • データは DPD 形式または BID 形式で格納できますが、BID 形式の方が必要となるオーバーヘッドが少ないため、DPD 形式よりも効率的です。したがって、ファイルの内容、SQL/DB2、またはその他のメインフレーム技術のためにメインフレームとの互換性が必要でない限り、BID 形式を使用することをお勧めします。

FLOAT DECIMAL (p) の格納に必要な記憶域および最大値 (p は精度を表す) は次のとおりです。

最大値
p <= 7 4 バイト 9.999999E+0096
7 < p <= 16 8 バイト 9.999999999999999E+0384
16 < p <= 34 16 バイト 9.999999999999999999999999999999999E+6144
Densely Packed Decimal (DPD) 形式
浮動小数データは、-dfp コンパイラ オプションまたは *PROCESS FLOAT(DFP) を使用して、DPD 浮動小数データとして保存および処理できます。
Binary Integer Decimal (BID) 形式
-bid コンパイラ オプションを -dfp オプションと組み合わせて使用して、DFP FLOAT DECIMAL データを Intel ネイティブの BID 形式で格納します。