COBOL製品技術情報(FAQ)


浮動小数点演算結果はメインフレームと違いがありますか


オープン環境では IEEE 754 規格に基づき、ターゲットコンピュータの CPU が装備する浮動小数点演算機構を使用する機械命令によって演算を実行しています。このため、一般的に浮動小数点演算に関しては CPU アーキテクチャの相違に起因する計算結果の相違が発生することがあり、その精度や丸めについては十進固定小数点演算のような厳密性が期待できません。

ただし、Enterprie Developer には IEEE または IBM 16 進数形式のどちらで浮動小数点データを扱うかを指定することが可能です。これはデータ形式として IBM 形式の浮動小数点データを取り扱えることを意味しており、演算結果の互換性を保証するものではなく、メインフレームからバイナリで転送したデータファイル中に格納されている浮動小数点データを変換なしに扱えることを目的としたものです。
内部では IBM 形式の浮動小数点データを IEEE 形式に変換後 CPU 命令を実行して計算し、その結果を IBM 形式に戻しています。

詳しくは製品マニュアル [Micro Focus Enterprise Developer] > [プログラミング] > [メインフレーム プログラミング] > [メインフレーム エミュレーション] > [メインフレーム環境との互換性] > [IBM 16 進数形式の浮動小数点データ] をご参照ください。