Außerdem wäre noch zu erwähnen, daß man << und >> hervorragend zur Multiplikation mit, bzw. Division durch Potenzen von 2 nutzen kann...
a << 2 liefert z.B. das gleiche Ergebnis wie a*4
a >> 1 ist dementsprechend gleichbedeutend mit a/2
Das sollte man wissen, da man auf diese Art z.B. schnelle Divisionen realisieren kann, auch wenn der verwendete µC eigentlich nicht dividieren kann (z.B. AVR).
Will man << für Multiplikationen nutzen, sollte man beachten ob der verwendete µC einen Barrel-Shifter hat. Bei den AVR Controllern ist das z.B. nicht der Fall und eine Multiplikation benötigt zudem nur 2 Zyklen, so daß ein Shift nur bei der Multiplikation mit 2 schneller ist.
Lesezeichen