Effekt unklar bei logischen and
-
Hallo,
ich möchte aus einer beliebigen Bit maske rausfinden ob das 6te Bit dieser Bitmaske gesetzt ist.
Ich habs so implementiert
int mask = 0x248A2F; int bit = mask & 0x20;
Aber ich bekomme immer 0x20 raus und nicht 1, ich habs auch per windows taschenrechner nachgerechnet und dort kommt auch immer 0x20 raus! Wieso kommt es zu diesen Effekt?
Oder mache ich etwas falsch?
Danke in Vorraus!mfg
-
Naja, wenn du das verundest bleiben einfach die Bits gesetzt, die bei beiden gesetzt sind. D.h. wenn du z.b. 10001000 & 10000001 macht, kommt 10000000 raus. 1 kann also nur rauskommen, wenn dus mit 1 verundest. Wenn dus als Bedigung benutzen willst, dann prüf einfach obs != 0 ist, also als Boolscher Test.
-
Das logische und ist &&. Du benutzt das binäre und &.