A bit of a philosophical question, I suppose.
The C language has the standard set of bit-wise operations, including OR
, AND
, XOR
, SHIFT LEFT/RIGHT
, and NOT
. Why aren't rotate left/rotate right operators or functions included in the language?
These operators are of the same complexity as other bit-wise operators and normally require a single assembly instruction, like the others. Besides, I can think of a lot of uses for rotate operator, probably not less than, say, xor
operator - so it sounds a bit strange to me that they aren't included in C along with the rest.
If you do need to rotate in C or C++, there's a separate FAQ question about best-practices for it. Discussion of that is off-topic for this question.