今天偶然在论坛上遇到一道基于位运算的排序算法。一般牵涉到位运算大多数人都会感到头痛,因为人通常习惯与十进制打交道,而计算机才擅长与二进制打交道。将代码写成位运算的形式,可以提高代码的执行效率,但是却降低了代码的可读性,因此要想读懂关于位运算的代码,就必须了解它的一些基本用法和意义。
下面程序可以实现对所输入的0~10000031的数字进行排序(最多可以输入10000032个数字)
分析可见程序:
今天偶然在论坛上遇到一道基于位运算的排序算法。一般牵涉到位运算大多数人都会感到头痛,因为人通常习惯与十进制打交道,而计算机才擅长与二进制打交道。将代码写成位运算的形式,可以提高代码的执行效率,但是却降低了代码的可读性,因此要想读懂关于位运算的代码,就必须了解它的一些基本用法和意义。
下面程序可以实现对所输入的0~10000031的数字进行排序(最多可以输入10000032个数字)
分析可见程序: