Reverse bits of a given 32 bits unsigned integer.
public int reverseBits(int n) { int m = 0; for (int i = 0; i < 32; i++, n >>= 1) { m <<= 1; m |= n & 1; } return m; }