/* reverseBits.c ----把value的二进制位模式从左到右逆置,返回值是逆置后的数 ** dhfalive 2010.8 dh_fa@live.cn */ unsigned reverseBits(unsigned value) { unsigned result = 0; int bitsCnt = sizeof(unsigned) * 8;//unsigned int 在内存中的位数 int i; for (i = 1; i < bitsCnt; i++) { result += (value & 1); value >>= 1; result <<= 1; } return result; }