Frage von Kirra1, 13

warum erhalte ich folgender Ausgabe (C prog)?

Hallo warum erhalte ich bei printf("x%dx", 0xB | 0x4 & 0x3); folgende Ausgabe x11x

x x ist natürlich verständlich aber was ist mit 11 dazwischen ?!

Antwort
von kloogshizer, 13

du Nimmst da eine bitweise Operation von hexadezimalzahlen vor, und printest die dezimale (wegen %d) Repräsentation dieser Zahl:

B = 1011 ,4 = 0100, 3 = 0011

0100 & 0011 = 0000 (bitweises und)
0000 | 1011 = 1011 (bitweises oder)
ja und 1011 binär = 11 dezimal

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten