Bases de la programmation (trace de pseudo-code)
∧ désigne le ET bit à bit. Quelle est la valeur de c après l'exécution du programme suivant ?
integer: x ← 200, c ← 0
while (x ≠ 0)
x ← x ∧ (x − 1)
c ← c + 1
endwhile
- A3
- B5
- C8
Afficher la réponse et l'explication
Réponse : A. 3
L'opération bit à bit x ∧ (x − 1) met à 0 le bit à 1 de plus faible poids de x. Dans x − 1, ce 1 de plus faible poids devient 0 et tous les 0 situés en dessous deviennent des 1 : le ET efface donc exactement cette partie. 200 = 11001000 devient 11000000 = 192, puis 10000000 = 128, puis 0 : la boucle s'exécute 3 fois. c vaut finalement le nombre de bits à 1 dans l'écriture binaire de x.
Continuer : 9 autres questions sur Bases de la programmation (trace de pseudo-code)