shift operator erklären
-
kann mir mal einer erklären was >> udn << eigentlich genau machen? ich raffs einfach nicht
// Edit: Topic korrigiert und ein paar Satzzeichen rausgenommen. Hängt deine Tastatur? :p (evilissimo)
-
Im Normalfall Binärshift - die Binärdarstellung einer Zahl wird um x Bits nach links bzw. rechts verschoben.
-
Genau.
Man kann auch einfach sagen:
"<<" Bitweise Linksverschiebung
">>" Bitweise Rechtsverschiebung
-
und was wird reingeschoben? einsen oder nullen?
-
net schrieb:
und was wird reingeschoben? einsen oder nullen?
bei << immer Nullen bei >> entweder 0 (unsigned) oder das Vorzeichenbit (signed)
-
CStoll schrieb:
...oder das Vorzeichenbit (signed)
ich schätze das ist mal wieder 'implementation-defined'

-
Hi!
Du hast:
0001Und shiftest nach links <<.
Dann hast du:0010Dann shiftest du nach rechts >>.
Danachst hast du:0001Das ganze läuft natürlich auf Binärer "Ebene" ab. Also ins Dezimalsystem umgerechnet:
0001 = 1 0010 = 2Wenn du z.B. einen 16 bit langen Shortwert hast, z.B. 65280 (also 1111111100000000 im Binärsystem) und willst nur die ersten 8 bit haben, dann shiftest du 8 bit nach rechts.
grüße
-
net schrieb:
CStoll schrieb:
...oder das Vorzeichenbit (signed)
ich schätze das ist mal wieder 'implementation-defined'

Korrekt.
