2016-05-03 4 views
2

いくつかの実験を試してもまだ明確ではありません。私たちがfloat a = X.XXXXを実行し、その数値がfloatで表現できない場合は、最も近い表現可能な数値に丸めます。しかし、切り上げと切り捨てが同じ距離を取るのはどういうことでしょうか?タイを壊すための一般的なルールは何ですか?cの最も近い表現可能なfloatへの丸めのためのタイブレーク?

答えて

0

述べhere(太字鉱山)のように、私は間違っていない場合、それはべき作品:

ラウンド最寄りへ。 デフォルトモードはです。それは、他のものの特定の必要性がない限り使用されるべきです。このモードでは、結果は最も近い表現可能な値に丸められます。 結果が2つの表現可能な値の中間にある場合、偶数表現はが選択されます。ここでも、最下位ビットがゼロであるを意味します。

+1

に向けた無限大

  • ラウンド。 – user694733

  • +0

    すべての実装が状況を異なる方法で処理できるため、これはGCCにのみ適用されます。しかし、すべてのコンパイラに似たドキュメントが必要です。 – Leandros

    1

    実装定義です。想定するIEEE 754:

    標準では、使用される5つの丸めモードが定義されています。関心の二つのモードがあります:ゼロから最寄りの

  • ラウンド(これはバイナリ浮動小数点のデフォルトと小数のための推奨されるデフォルトです)にさえ

    • ラウンド最寄りに、ネクタイ、ネクタイ

    3等が導か丸めモードと呼ばれる。

    • ラウンド
    • ゼロに向かって
    • ラウンドに向けて - だけでGCCをカバーするように見えるインフィニティ
  • +0

    システムがIEEE 754を使用すると仮定します。 – user694733

    +1

    Nitpick: "直接丸めモード"の代わりに "有向丸めモード"。 –

    +0

    @MarkDickinson真、修正されました。 – Leandros

    関連する問題