Hi Leute. was kommt bei diesem Ausdruck raus? if (mask & 2) {...} "mask" ist eine Zahl von 0 bis 16. Angenommen mask=2, ist das Ergebnis von 2 & 2 = 2, stimmt's? Ist dann if true? Wann wird es false? Grüße Marcusius
Die Bedingung ist genau dann erfüllt, wenn das Bit Nr. 1 (das mit der Wertigkeit 2, also das zweite von hinten) in mask gesetzt ist... 2d = 00000010b, ein bitweises UND ergibt dann true , wenn etwas herauskommt, das ungleich 0 ist. Und das kann nur passieren, wenn im anderen Operanden auch das vorletzte Bit gesetzt ist.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.