was macht dieser operator
-
Hi,
ich habe den Operator << schon oft verwendet, aber habe nie kapiert was er eigendlich macht.zum Beispiel
hdr.bfType = ((WORD) ('M' << 8) | 'B'); // is always "BM"
könnt ihr es mir eklären?
Grüße twin
-
hab übersehen, dass dieses thema kurz zuvor schoneinmal angesprochen wurde
sorry
-
hi
hat sich nicht geklärt
könnt ihr mir doch helfen?
Grüße twin
-
-
Hi
ich hab auch schon ein bisschen gegoogelt hab nur leider nichts gefunden (bin nicht so oft im internet)danke für deinen Link
ich kann nur leider nicht so gut englisch
hast du noch einen "deutschen" linkachja versucht lieber nicht eine seite wo's ums Programmieren geht mit dem googletranslator zu übersetzten
Grüße twin
-
"Die Schiebeoperatoren von C++ besitzen zwei ganzzahlige Operaden und
verschieben die Bits ihres linken Operanden um so viele Stellen nach links oder
rechts, wie ihr rechter Operand angibt. Das Ergebnis der Operation ist vom Typ
des linken Operanden. Ist der rechte Operand negativ, so ist das Ergenis der
Schiebeoperation undefiniert"Operand Bedeutung Priorität Assoziativität Beispiel << Linksverschiebung 11 von links nach rechts x << y >> Rechtsverschiebung 11 von links nach rechts x >> y
Quelle: C++ Das Grundlagen Buch
[ Dieser Beitrag wurde am 24.05.2003 um 16:12 Uhr von C Newbie editiert. ]
-
Hi
also am Beispiel ((WORD) ('M' << | 'B') :
M hat den ascii code 77 also binär 0100 1101
B hat den ascii code 66 also binär 0100 0010'M' << 8 ist dann 0100 1101 0000 0000 = 0000 0000
mit | 'B' ergibt sich dann
0000 0000
0100 0010
-------------
0000 0000das kann ja schlecht sein
was ist falsch?Grüße twin
-
Wie kommst du auf den Schwachsinn: 0100 1101 0000 0000 = 0000 0000 ??
So muss es heissen:
'M' << 8 ist dann 0100 1101 0000 0000
mit | 'B' ergibt sich dann
0100 1101 0000 0000
0000 0000 0100 0010
-------------------
0100 1101 0100 0010Edit: Ich kann mir denken, wie du darauf kommst:
Du hast jede 4ergruppe als Byte interpretiert, ein Byte hat aber 8 bit[ Dieser Beitrag wurde am 24.05.2003 um 17:43 Uhr von dEUs editiert. ]
-
Hi
danke für deine Antwort
jetzt ises klarGrüße twin