Live data from Hacker News

A Neat Bitwise Trick for Swapping Even and Odd Bits

dailycodingproblem.com

1–4 of 4 posts

Re: A Neat Bitwise Trick for Swapping Even and Odd Bits

#3

8 bit input? Use a pre-generated lookup table. Store it in ROM. The table deference will take 1 or 2 operations instead of the AND/SHIFT/PUSH/AND/SHIFT/POP/OR described in the answer.

You're right, 8 bits is small enough to just store in a table.

This trick will work for any number of bits though. You might not want to use 2^64 entries in your table.

Re: A Neat Bitwise Trick for Swapping Even and Odd Bits

#4

8 bit input? Use a pre-generated lookup table. Store it in ROM. The table deference will take 1 or 2 operations instead of the AND/SHIFT/PUSH/AND/SHIFT/POP/OR described in the answer.

You're right, 8 bits is small enough to just store in a table. This trick will work for any number of bits though. You might not want to use 2^64 entries in your table.

The question was an unsigned 8-bit input, not an arbitrary number.

And the "trick" given in the answer still depends on a fixed number of input bits, no matter if it's 8, 32, or 10^100.