Comment Comment by hairtuq On a related note, almost any task around shuffling or shifting bits can be improved with xor. For example the straightforward way to remove bit i is mask = -1 << i; return (x & ~mask) | ((x >> 1) & mask); but with xor we can do it in one less instruction: mask = -1 << i; return ((x ^ (x >> 1)) & mask) ^ x; parent hairtuq 3 years ago