public static long Reverse(long i) { i = (long)Bits.BitPermuteStepSimple((ulong)i, 0x5555555555555555UL, 1); i = (long)Bits.BitPermuteStepSimple((ulong)i, 0x3333333333333333UL, 2); i = (long)Bits.BitPermuteStepSimple((ulong)i, 0x0F0F0F0F0F0F0F0FUL, 4); return(ReverseBytes(i)); }
public static int Reverse(int i) { i = (int)Bits.BitPermuteStepSimple((uint)i, 0x55555555U, 1); i = (int)Bits.BitPermuteStepSimple((uint)i, 0x33333333U, 2); i = (int)Bits.BitPermuteStepSimple((uint)i, 0x0F0F0F0FU, 4); return(ReverseBytes(i)); }