Eigentlich wollte ich dem Compiler etwas Arbeit abnehmen mit dem Shift,
es gibt ja Controller die nicht multiplizieren können und da bin ich es halt gewohnt zu schieben.
Hätt ich den normalen Multiplikator verwendet geht es richtig, da stimme ich Felix G völlig zu.
Ich bin auch erstaunt was der C-Standard dazu sagt.
"behavior is undefined" "Das Verhalten ist undefiniert"
Das ist ja wie bei einem FlipFlop: beim Einschalten, "undefinert" man braucht halt einen Vorzugskondensator,
hier halt die Klammern oder das "*".

Dokumentation lesen ist sicher nicht verkehrt, da bin ich ganz deiner Meinung.
Aber wie sagt man so schön: Aus Fehlern lernt man. Und ich glaube auch, daß man durch Analysieren der Fehler oder "Programmierfallen"
wesentlich mehr lernt als nur vom Lesen.
Man muss einfach mal loslegen und viel Zeit investieren und auch viel Programmieren und auch "probieren"
Nach einigen Jahren kommt man dann meist recht gut zurecht.
Wenn ich dann Bücher sehe wie : Java in 14 Tagen lernen, kann ich nur lachen.
Programmieren ist ein Prozess in dem man ständig dazulernt und dieser endet nie, auch nicht nach 30 Jahren.
Und jede Programmiersprache hat seine Eigenheiten, die man dann irgendwann auch kennt.
Man (ich) ärgert sich dann nur, wenn man bestimmte Dinge in einer anderen Programmiersprache anders gelernt hat als es in der Sprache Y funktioniert
Macht zieht dann automatisch seine Vergleiche und diese fallen im Moment bei C eher negativ aus.

Zitat von Sprint SB:
Computer sind Maschinen, mit denen man Probleme lösen kann, die es ohne sie nicht gäbe.

ich würd es im Moment so beschreiben, bitte nicht negativ auffassen:
Mit C kann man Probleme lösen, die man in X garnicht hatte

Einen schönes Wochenende Euch allen.
Siro