663 |
public static int reverse(int val) |
public static int reverse(int val) |
664 |
{ |
{ |
665 |
// Successively swap alternating bit groups. |
// Successively swap alternating bit groups. |
666 |
x = ((x >> 1) & 0x55555555) + ((x << 1) & ~0x55555555); |
val = ((val >> 1) & 0x55555555) + ((val << 1) & ~0x55555555); |
667 |
x = ((x >> 2) & 0x33333333) + ((x << 2) & ~0x33333333); |
val = ((val >> 2) & 0x33333333) + ((val << 2) & ~0x33333333); |
668 |
x = ((x >> 4) & 0x0f0f0f0f) + ((x << 4) & ~0x0f0f0f0f); |
val = ((val >> 4) & 0x0f0f0f0f) + ((val << 4) & ~0x0f0f0f0f); |
669 |
x = ((x >> 8) & 0x00ff00ff) + ((x << 8) & ~0x00ff00ff); |
val = ((val >> 8) & 0x00ff00ff) + ((val << 8) & ~0x00ff00ff); |
670 |
return ((x >> 16) & 0x0000ffff) + ((x << 16) & ~0x0000ffff); |
return ((val >> 16) & 0x0000ffff) + ((val << 16) & ~0x0000ffff); |
671 |
} |
} |
672 |
|
|
673 |
/** |
/** |