... stolpere ich über >> oder << in C, aber wirklich verstanden habe ich Schieben und Rollen noch nicht ...
Wo kommt denn das "Rollen" vor? Hast Du da einen Hinweis für uns, einen Link oder so ?

Die Links von Peter(TOO) zum Wikipedia geben ja ne gute Vorstellung zum Schieben, und die Operatoren heißen ja auch shift-Operatoren. Rollen KÖNNTE aus der Assemblerecke kommen bei der es (z.B. bei den Atmels) ein rotate gibt.

Unterschiede treten auf: shift ist nur innerhalb der Bitbreite des (linken) Operanden definiert - in meinem KernighanRitchie steht noch die anschauliche Erläuterung:
Der Wert von E1<<E2 ist E1 (interpretiert als Bit-Muster) um E2 Bits nach links verschoben. Wenn kein Overflow eintritt, ist das äquivalent zu einer Multiplikation mit mit 2E2. Der Wert von E1>>E2 ist E1 um E2 Bit-Positionen nach rechts verschoben. ... Es gibt implementierungsabhängige Sonderfälle.

Beim rotate gehts ja üblicherweise durchs Carry hindurch, da taucht z.B. der Overflow "hinten" wieder im Ergebnis auf, hier mal zwei Zitate aus der Assemblerhilfe zum Atmel-Befehlssatz:
Code:
ROL - Rotate Left trough Carry
 
Description: 
Shifts all bits in Rd one place to the left. The C flag is shifted into bit 0 of Rd. Bit 7 is shifted into the C flag. This operation, combined with LSL, effectively multiplies multi-byte signed and unsigned values by two.

Operation:

C ¨ b7 ------------------b0  ←   C
 
Syntax:         Operands:                     Program Counter:

(i)ROL Rd       0 ≤ d ≤ 31                    PC ← PC + 1

================================= ><    ===================================

LSL - Logical Shift Left

Description: 
Shifts all bits in Rd one place to the left. Bit 0 is cleared. Bit 7 is loaded into the C flag of the SREG. This operation effectively multiplies signed and unsigned values by two. 
 
Operation:

C ¨ b7 ------------------b0  ←   0
Das Carry nimmt also in beiden Fällen den Overflow auf, aber der wird nur beim Rotate weiter verarbeitet. Das Rotate und das Shift gehen rechts sinngemäß.