Does C have circular shift operators?

Q

Does C have circular shift operators?

✍: Guest

A

No. (Part of the reason why is that the sizes of C's types aren't precisely defined----but a circular shift makes most sense when applied to a word of a particular known size.)
You can implement a circular shift using two regular shifts and a bitwise OR:
(x << 13) | (x > >3) /* circular shift left 13 in 16 bits */

2015-01-28, 883👍, 0💬