yphastos
8/1/2017 - 7:16 PM

swap Adjacent Bits

swap Adjacent Bits

int swapAdjacentBits(int n) {
  return (((n>>1)&0b01010101010101010101010101010101) +
            ((n<<1)&0b10101010101010101010101010101010)) ;
}

int swapAdjacentBits(int n) {
  return ( ((n & 0xaaaaaaaa) >> 1) | ((n & 0x55555555) << 1) );
}