倍精度や単精度と整数値の乗法の結果が一貫性のある丸め込まれかたをしません



使用ソフトウェア: LabVIEW Development Systems>>Full Development System
使用ソフトウェア・バージョン: 7.1
使用ソフトウェア・バージョンに特化:
二次のソフトウェア: LabVIEW Development Systems

問題: 簡単な計算の結果が以下のようになります:

x (倍精度) 4.5
y (整数) 1
z (x*y: 整数) = 4 (4.5が4に丸め込まれます)

x = 4.5
y=3
z= 14 (13.5が14に丸め込まれます)

x=4.5
y=5
z= 22 (22.5が22に丸め込まれます)

x=4.5
y=7
z=32 (31.5が32に丸め込まれます)

このように一貫しない結果となります。LabVIEWでは丸め込みの結果は常に最近値に切り上げられるわけではないのでしょうか?

解決策: 浮動小数点が整数に変換される際、最近値へと丸め込まれます。しかし例えば2.5や3.5などの整数値の中間値の場合は例外となります。この場合は2.5は2、3.5は4、といったように最も近い偶数値に丸め込まれます。これはIEEE-754標準の規格に準拠したものです。

関連リンク:

添付:





報告日時: 01/13/1999
最終更新日: 09/02/2004
ドキュメントID: 1HC9I923