Basis van programmeren (pseudocode traceren)
∧ is de bitsgewijze EN. Wat is de waarde van c nadat het volgende programma is uitgevoerd?
integer: x ← 200, c ← 0
while (x ≠ 0)
x ← x ∧ (x − 1)
c ← c + 1
endwhile
- A3
- B5
- C8
Antwoord en toelichting tonen
Antwoord: A. 3
De bitsgewijze bewerking x ∧ (x − 1) zet het laagste 1-bit van x op 0. In x − 1 wordt die laagste 1 een 0 en worden alle nullen daaronder 1, dus de EN maakt precies dat deel 0. 200 = 11001000 wordt 11000000 = 192, dan 10000000 = 128, dan 0, dus de lus wordt 3 keer uitgevoerd. c is uiteindelijk het aantal 1-bits in de binaire vorm van x.
Verder: nog 9 vragen over Basis van programmeren (pseudocode traceren)