2011-03-09 10 views
1

浮動小数点の比較は浮動小数点の比較と同じであるように浮動小数点を直列化する方法を探しています。私はそれが形でそれを格納することにより可能であると思う:浮動小数点のシリアライゼーション、辞書編集の比較==浮動小数点の比較

| signed bit (1 for positive) | exponent | significand | 

指数と仮数はビッグエンディアンとしてシリアライズされるだろうと補完が負の数のために取られることになります。

これは機能しますか?私はNaNのために壊れても構わないけど、INF比較作業がうまくいくだろう。

答えて

3

IEEE番号の形式は、「単純な」整数比較が使用できるように特別に設計されています。ただし、同じ符号の2つの数値を比較した場合にのみ適用されます。

数字がマイナスの場合は補完するようにお願いします。これはうまくいきます。

これは、+ -Inf:sおよび非正規数に対して有効です。しかし、NaN:sは動作しません。むしろ、infよりも「より大きい」とみなされます。

"-Zero"(つまり、sign = 1、exponent = 0、および仮数= 0)という唯一の問題があります。 IEEEに準拠、ゼロ== - ゼロ。 -Zeroをゼロとして出力するか、異なるものとして扱うか、または比較ルーチンに特別なコードを追加するかを決定する必要があります。