Find Windows Update
Change start type to "Disabled"
Sounds like you've got the gist of it. C only has a bitwise shift (where the end that the shift would "empty" is filled with zeroes for unsigned integers), not a bitwise rotate (ex. 00001011 rotated right by 2 becomes 11000010), so the closest thing to saying "bitwise rotate this" is using a set of expressions that would have the same behavior. Since a bitwise rotate is the same as splitting the binary number into two parts (of sizes determined by the desired rotation amount) you just have to create the two split numbers, then OR them back together. The Wikipedia example tries to be somewhat universally workable (using CHAR_BIT, sizeof(), etc. to make it work with virtually any unsigned integer type without modification) which is why it's a bit confusing. A simplified example:
If the value in a variable 'uint8_t x' is 10010011 and you want to bitwise rotate it right by 3 bits (to yield the result 01110010), you need to first derive the partial values 10010 and 011, then OR them together.
The right-shift operator '>>3' will create the 10010 for us without any extra work.
We can generate the 011 by doing a left shift '<<5' in the same way but with the reverse number of bits (calculated as BIT_WIDTH_OF_TYPE - left_shift_count to get 8 - 3 = 5).
Thus, 'x right-rotated by 3' for an 8-bit unsigned integer can be stated most simply (and inflexibly) in C as (x << 3) | (x >> 5), and the compiler will recognize the "two opposite shifts with a total shift of the variable type width ORed together" and emit a single bitwise rotate instruction (like 'r1 ROR r2') for the actual work rather than "load to r1; rotate r1; load to r2; rotate r2; r2 OR r1." Any unsigned integer can be rotated in the same way. Relevant x86 assembly: https://en.wikibooks.org/wiki/...
Does that help?
An engineer is someone who does list processing in FORTRAN.