摘要: 这次的se106的homework有一题对浮点数使用基数排序,做完之后感觉比较有趣。很多人觉得对浮点数使用基数排序,就是从小数点后面多少位开始使用10进制的方式一位一位排。但这是计算机保存浮点数,并不是数学上的小数,个人认为这样考虑不妥。应该遵循计算机保存浮点数的格式来排序。使用 IEEE 的 float 为例:1.算法思路 对于 IEEE 的 float 类型: 最高位31位是符号位,30~23位是阶码位,22~0位是尾数位。 IEEE的 float 类型有一个特性,就是从0到30位(除了符号位)对数字的大小的重要性依次增大,这样就可以和整数各位的排序一样了。 有一个例外问题就是... 阅读全文
posted @ 2013-10-30 15:40 Azard 阅读(2887) 评论(2) 推荐(0) 编辑