2011-03-09 83 views
1

我正在尋找一種序列化浮點的方式,以便在序列化形式中將字典對比與浮點比較相同。我認爲這是通過將其存儲在形式的可能:浮點序列化,字典對比==浮點比較

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

指數和尾數將被序列化爲big-endian和補體將採取負數。

會這樣嗎?我不介意NaN是否打破,但是INF比較工作會很好。

回答

3

IEEE編號的格式是專門設計的,因此可以使用「普通」整數比較。但是,這僅適用於比較兩個相同符號的數字。

當您的數字爲負數時,您對數字進行補充的建議是合理的,因此這將起作用。

這將適用於+ -Inf:s和低於正常的數字。然而,NaN:不會工作,或者說,他們會被認爲比inf更「大」。

唯一有問題的情況是「零」(即符號= 1,指數= 0,尾數= 0)。符合IEEE,零== ==零。您必須決定是否要將零作爲零發射,將它們視爲不同,或者將特殊代碼添加到比較例程中。