4 ms·
A Neat Bitwise Trick for Swapping Even and Odd Bits
- joezydeco 9y ago8 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.
- lawrencewu 9y agoYou'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.
- joezydeco 9y agoThe 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.