Der Martin: Zeichensatz Probleme

Beitrag lesen

Hallo,

Die Thematik hatte ich erst neulich: "was ist 4 << 3"?
(ZCE-Prüfungs-Frage im Vorbereitungs-Kurs)
Zends Musterlösung ist falsch! Die sagen 0!

da würde mich jetzt aber *brennend* deren Begründung und/oder Herleitung interessieren. Ich bekomme nämlich nicht 0 heraus, sondern 32.

Oder meinten die vielleicht eher einen Right Shift? Oder hast du einfach falsch gelesen?

Denn:  4 >> 3 = 0

Mindeestens 90% der von mir befragten Informatiker halten allerdings deren Lösung für richtig

Für meinen korrigierten Fall halte ich das auch für die richtige Lösung - was käme sonst in Frage?

Ja, es geht dabei um Bits, aber das Problem ist gelöst, wenn man konsequent zuende denkt - als Entwickler interessiert mich keine Repräsentation der Daten im physikalischen Speicher - als Mensch schon.

Ja, aber der Bitshift-Operator arbeitet mit dem Zahlenwert als solchem, der seinerseits unabhängig davon ist, ob diese Zahlen im Speicher als MSB-first oder LSB-first abgelegt sind.

Die literale Darstellung von Zahlen sollte eindeutig bleiben.

Eben.

So long,
 Martin

--
Lieber blau machen, als sich schwarz ärgern.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(