sch_michael wrote:
> ..., da ja der Präprozessor bereits diese Shiftoperation umsetzt.
Das fällt in den Bereich `urban legend'.
Der Präprozessor ersetzt Texte, und zwar alle die, die mittels
#define in einem Makro definiert worden sind, und er zieht die
#include-Dateien rein. Mehr macht er nicht.
Das hier ist teil des Optimierers im Compiler. Es bewirkt eine
Ersetzung von Ausdrücken, die zur Compilezeit konstant sind, durch
ihre Äquivalenten Rechenergebnisse.
Aber selbst ohne Optimierung wäre hier nichts anderes herausgekommen
(da die Rechnung ja im 16-bittigen Bereich gemacht worden ist), es
hätte nur länger gedauert. ;-)