Arithmétique des ordinateurs
Quel est le résultat du décalage arithmétique d'un bit vers la droite de −8 (1111 1000) en entier signé sur 8 bits ?
- A124 (0111 1100)
- B−16 (1111 0000)
- C−4 (1111 1100)
Afficher la réponse et l'explication
Réponse : C. −4 (1111 1100)
Le décalage arithmétique à droite recopie le bit de signe dans le bit de poids fort libéré : 1111 1000 devient 1111 1100, soit −4 en complément à deux. Même pour un nombre négatif, un décalage d'un bit vers la droite divise par 2. Le décalage logique à droite, qui insère un 0 en poids fort, donne 0111 1100 = 124 et change le signe. −16 est le résultat d'un décalage d'un bit vers la gauche. Il faut aussi noter qu'en langage C, le comportement du décalage à droite d'un entier signé était laissé à l'implémentation.
Continuer : 9 autres questions sur Arithmétique des ordinateurs