Example:
key = key >> (bits - (bits >> 3) << 3)) ... performs a relatively simple task ... key = key >> (bits & 0x7); or key >>= bits & 0x7; if (x > y) return 1; else return 0; ... is better expressed as ... return (x > y);