Den Verschiebeoperator sollte man dennoch in jedem C-Lehrgang gelehrt
bekommen.
Zugegeben allerdings, die Bitmanipulation (Verschiebung, bitweises
UND, bitweises ODER, XOR) tritt in ,,höherem'' C selten auf, man
braucht diese Funktionalität vorrangig, wenn man auf Hardware
zugreift, also entweder bei Controllern wie hier, oder beim Schreiben
von Betriebssystemen auf ,,größeren'' Architekturen. Gewöhnliche
Anwenderprogramme haben damit eher selten was zu tun.
Schau Dir einfach nochmal an, was die Operatoren << >> | & ^ ~ so tun.
Wenn Du das verstanden hast, kannst Du Dir auch noch vergegenwärtigen,
daß C die Anweisung
foo = foo <operator> bar;
im Allgemeinen als
foo <operator>= bar;
kürzer schreiben kann. Dabei darf <operator> eben nicht nur + - * /
sein, sondern durchaus auch einer der Bitmanipulations-Operatoren.
Damit erklären sich dann auch Dinge wie
foo >>= 3;
oder
IOREG |= (1 << foo);
IOREG &= ~(1 << foo);