2011-01-15 12 views
2

浮動小数点データはどのようにしてソートされますか?例えば、12.4,45.13などとすると、最初に小数点の右辺か小数点の左辺を最初に読みますか?そして、小数点の右辺を読んだ場合、その数値をどのように扱いますか?まず最初に一番最初に読んだのですか?基数浮動小数点データ

答えて

2

このページの説明を参照してください。

http://codercorner.com/RadixSortRevisited.htm

基本的に、コンピュータは、特定の形式の浮動小数点を格納します。彼らは45.13と書いていません。結果として、そのように考えることは、それが実際にどのように機能するかには関係しません。

基数ソート最初の最も重要な部分を見て持っている、ことを無視。浮動小数点数では、それは左端の数字です。本質的には、すべての数字を小数点の前に同じ桁数にするようにします。次に、左から右の数字を読んでみましょう。

1

基数ソートは、番号のバイナリ表現で動作し、彼らは大きな進整数であるかのようにオブジェクトをソートします。実際の整数と文字列の場合

は、バイナリ表現は、我々が期待する傾向がある照合順序を持つと非常によく対応しており、その基数ソートが面白いかのやや珍しい代替手段です。

それは限り浮動番号が正しい方向に横断されるように、基数ソートは、それが逆方向に符号ビットを処理することを除いて、うまく働くことができることが判明しました。内部バイナリ表現で

、FP値は、指数の約10ビットに符号ビットを有し、その後約20または50ビットは「画分」又は仮数です。

S E E E E E E E E M M M M M M M M M M M M M M M . . . 

指数がバイアスされている仮数がそうであるように、それは、正しくソートするように小さい値は、実際に最も負の指数であることをそう。限り、すべての数値が正または負のいずれかである、または符号ビットが最初に反転されて、スキャンが左から右の場合、私は基数ソートは、FP番号上で動作すると思います。と

関連する問題