Grundlagen der Programmiersprache C
uint8_t r = 0x5A;
r |= 0x01;
r &= ~0x10;
r ^= 0x0F;
printf("0x%02X\n", r);uint8_t ist ein vorzeichenloser 8-Bit-Ganzzahltyp. Welche Ausgabe erzeugt der obige Code bei der Ausführung?
- A0x44
- B0x4F
- C0x54
Antwort und Erläuterung anzeigen
Antwort: A. 0x44
0x5A ist binär 0101 1010. |= 0x01 setzt Bit 0 auf 1, was 0101 1011 (0x5B) ergibt, und &= ~0x10 setzt Bit 4 auf 0, was 0100 1011 (0x4B) ergibt. Das abschließende ^= 0x0F invertiert die unteren 4 Bit, sodass 0100 0100, also 0x44, entsteht. Die Aufgaben sind verteilt: | setzt Bits auf 1, die Kombination aus & und ~ setzt Bits auf 0, und ^ invertiert Bits.
Weiter: 9 weitere Fragen zu Grundlagen der Programmiersprache C