Floating point 基数排序浮动数据

Floating point 基数排序浮动数据,floating-point,radix,Floating Point,Radix,基数如何对浮点数据排序?例如12.4、45.13等。它会先读取小数点的右侧吗?还是先读取小数点的左侧?然后如果它读取小数点的右侧,它会如何处理数字,它会先读取最右侧吗?请参阅本页的讨论 基本上,计算机以特定的格式存储浮点。他们没有把它写成45.13。因此,以这种方式思考它与它的实际工作方式无关 忽略这一点,基数排序必须首先查看最重要的部分。在浮点数中,它是最左边的数字。基本上,我们将填充所有数字,使其在小数点之前具有相同的位数。然后我们从左到右读取数字。基数排序对数字的二进制表示进行操作,并对

基数如何对浮点数据排序?例如12.4、45.13等。它会先读取小数点的右侧吗?还是先读取小数点的左侧?然后如果它读取小数点的右侧,它会如何处理数字,它会先读取最右侧吗?

请参阅本页的讨论

基本上,计算机以特定的格式存储浮点。他们没有把它写成45.13。因此,以这种方式思考它与它的实际工作方式无关


忽略这一点,基数排序必须首先查看最重要的部分。在浮点数中,它是最左边的数字。基本上,我们将填充所有数字,使其在小数点之前具有相同的位数。然后我们从左到右读取数字。

基数排序对数字的二进制表示进行操作,并对对象进行排序,就像它们是一个大的二进制整数一样

对于实整数和字符串,二进制表示法与我们期望的排序顺序相当吻合,因此基数排序是一种有趣的、但有些不同寻常的选择

结果表明,只要浮点数的遍历方向正确,基数排序就可以很好地工作,只是它会向后处理符号位

在内部二进制表示法中,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数字起作用。

我所知道的基数排序的最佳代码是: