ページの先頭です。
ここから本文です。

よくあるご質問(サポートFAQ)

【HP ANSI C++/C】char型からdouble型への変換時の精度

質問内容

本番業務プログラムにおいて、精度が合わないという事象が発生しました。charからdoubleへの変換時に問題があるようです。保障されている精度を教えてください。旧システム(HP-UX 11.00)では障害は発生しておらず、システム更改後(HP-UX 11.31)から障害が発生しています。

回答内容

floatやdoubleといった浮動小数型のデータは2のべき乗で表現されるため、10進数の値全てを正確に表すことはできず、近似値になります。そのため、正しく表すことができる精度があり、10進数の値からは誤差があります。HP ANSI C++/C では浮動小数はthe IEEE floating-point standard, ANSI/IEEE 754-1985 に従っております。

また、11.00(HP-UX PA_RISC)と11.31(HP-UX IPF)ではCPUが異なります。それによりハードウエア(CPU)のレベルで浮動小数演算が異なります。ハードウェアが異なるため、以前とまったく同じ結果にすることはできません。浮動小数の演算は誤差と精度があることを念頭にプログラムのロジックを組む必要があります。

【確認済みの対象OS】HP-UX
【カテゴリー】トラブルシューティング

製品名カテゴリ

HP ANSI C++/C

  • コンテンツID: 3150105542
  • 公開日: 2013年08月23日
  • 最終更新日:2013年08月23日

アンケート

サポート情報充実のためアンケートにご協力をお願いいたします。



コメント欄:
ここからページ共通メニューです。 ページ共通メニューを読み飛ばす。