Einzelnes bit löschen?
-
Bin grad irgendwie zu dumm
habe eine Interger, jedes bit des interger definert ein best. Flag im Programm
nun will ich einzelne Bits setzen und löschen können!
dabei verwende ich bit masken
int iFlag=0; #define FLAG_A 0x1 #define FLAG_B 0x2 #define FLAG_C 0x4 #define FLAG_D 0x8 #define FLAG_E 0x10etc.
mit "|=" kann ich ja ein flag setzen!
iFlag |= (FLAG_A | FLAG_B);aber wie löschen .. irgendwie grad bitlogik probelme
Brauche sowas wie:
A B Erg
0 1 0
1 0 0
1 1 1
0 0 0
-
Du musst einfach die flag invertieren und mit der Zahl und-verknüpfen.
iFlag &= ~FLAG_A;
-
na klar
danke