Bit Operator &
-
Beispiel:
#define BITMASKE 0x11111111 char a = 0x1b; uint8_t c = 0x1b; uint8_t b = 0; printf("vor: %x ", c); b = (uint8_t)a & BITMASKE; printf("1: %x ", b); if(c == b){ std::cerr << "HALLO!!!!!!!!!!!!!!!" << '\n'; } b = b >> 8; printf("2: %x ", b); if(c == b){ std::cerr << "NIEMALS!!!!!!!!!!!!!!!" << '\n'; }
Aussgabe:
vor: 1b 1: 11 2: 0
Das versteh ich nicht!! Wie kann das sein da müsste eigentlich so was hier stehen:
vor: 1b 1: 1b 2: 0
(Bei den Ausgaben sind hex zahlen, deswegen auch printf, std::hex klappt da nicht so gut)
-
0x1b & 0x11 == 0x11
Stimmt doch...Du meinst wohl
#define BITMASKE 0xff
-
Nope Zeile 6 ...
1b & FF = 1b oder sehe ich das irgendwie falsch?
EDIT:
AH der define ist mist danke