2017-01-30 4 views
4

IEEE754浮動小数点数は、signed zeroの概念を持っている、すなわち、片面制限として理解することができる-0.0+0.0ための2つの異なるビットパターンが存在する:= LIM δ→0±δ:0±。この規格は、(署名された)無限大(+Infおよび-Inf1./±0.±Infとなる)との一貫性のためにこれらの数値を提供し、丸め誤差の軽減に役立つという証拠がいくつかあります。IEEE754フロートで+0.0> -0.0が保持されないのはなぜですか?

彼らが異なるエンティティであるが、彼らは+0.0 == -0.0が保持している同じ値、すなわち、へを比較という制限から明らかです。しかし、限界から私はまた、以下のことが保持されるべきだと考えています:+0.0 > -0.0これはどんな小さなものでも保持するのでδです。しかしこれはではないです。このプロパティは時には便利なこともあります(たとえば、2つの0を区別することについて考える)、標準委員会がそれをしないことを選択した理由は何ですか? +0を区別すると-0利点を有し、それは時折、混乱することができるが、浮動小数点演算の基礎となる数システム上

+1

簡単な説明は、2つの数値が同時に等しくなることはありません。 –

+0

確かに、確かに意味があります。しかし、それは質問をする:それらが同じである場合、彼らはなぜ操作で異なって行動するのですか?言い換えれば、なぜ限界の「数学的なルール」に従うことを選択するのか、それ以外のものにするのはなぜですか? – summentier

+2

Kahanの記事をhttps://people.eecs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDFで読み始め、そこにあるリンクをたどります。 – gnasher729

答えて

2

Mathworldの記事は言うDavid Goldberg's famous paper

を引用します。たとえば、符号付きゼロは、x = y⇔1/x = 1/yの関係を破棄します。これは、x = + 0、y = -0のときは偽です。しかし、IEEE委員会は、ゼロの兆候を利用する利点が欠点を上回ると判断した。

委員会は、このような議論のためsearchedすることができwebsiteを持っており、署名ゼロは永遠の論争の源であるように見えます。

あなたの特定の質問については何も見つかりません。しかし、推測と同じように、ハードウェアを単純化したいと思う可能性があります。その比較では、{less、greater、equal、unordered}の結果しか得られません。 -0と-0 = +0の両方を許可すると、いくつかの回路が複雑になる(潜在的に遅くなる)ことがあります。それは経済的ではないと考えられていたかもしれない。

関連する問題