Grundlagen der Programmierung (Pseudocode nachverfolgen)
∧ ist das bitweise UND. Welchen Wert hat c, nachdem das folgende Programm ausgeführt wurde?
integer: x ← 200, c ← 0
while (x ≠ 0)
x ← x ∧ (x − 1)
c ← c + 1
endwhile
- A3
- B5
- C8
Antwort und Erläuterung anzeigen
Antwort: A. 3
Die Bitoperation x ∧ (x − 1) löscht das niedrigste 1-Bit von x. In x − 1 wird die niedrigste 1 zu 0, und alle Nullen darunter werden zu 1; das UND löscht daher genau diesen Teil. 200 = 11001000 wird zu 11000000 = 192, dann zu 10000000 = 128 und dann zu 0; die Schleife läuft also 3-mal. c ist am Ende die Zahl der 1-Bits in der Binärdarstellung von x.
Weiter: 9 weitere Fragen zu Grundlagen der Programmierung (Pseudocode nachverfolgen)