Forum: Mikrocontroller und Digitale Elektronik Ausdruck wahr oder falsch


von Marcusius (Gast)


Lesenswert?

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

von Rahul D. (rahul)


Lesenswert?

alles was nicht 0 ist, ist wahr.

von Johannes M. (johnny-m)


Lesenswert?

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.

von Marcusius (Gast)


Lesenswert?

Besten Dank für die Klarstellung.

Marcusius

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
Noch kein Account? Hier anmelden.