Question sur le Compélment à 2
par BOUZIDI Lhadi, le Vendredi 16 novembre 2018, YACINE SAHNOUNE m'a posé la question suivante :
Bonjour monsieur je voulais vous poser une question a propos du codage du nombre (-8)base10 au complément vrai "C2" sur 4 bit moi j'ai trouver (11000)c2 et notre prof de td a trouver (1000)c2. j’espère avoir une réponse de votre part ,MERCI.
|
Réponse : Votre enseignant de TD a raison. Voici la preuve :
Vous avez un nombre N = (-8)10
ce nombre N est négatif. Vous ne pourrez pas trouver directement sa valeur en C2. Vous devez passez par son opposé -N
alors -N = (8)10 = (1000)2 sur 4 bits
Pour trouver N en complément à 2 , on applique la complémentation à 2 de -N ce qui donne : donc N = - (1000)2 = (1000)C2
Je rappelle que vous devez copier tous les zéros en commençant de la droite jusqu'à rencontrer le premier "1".
Vous recopier ce "1" puis vous inverser le reste des bits jusqu'à arriver à la position la plus à gauche.
Ici vous avez les 3 bits de droite à "0", donc vous les recopier, puis vous avez un "1", vous le recopier aussi, vous aurez donc "1 000"
Remarquez que sur n = 4 bits, l'intervalle des valeurs représentables sont [-2n-1, 2n-1-1] = [-24-1, 24-1-1]=[-23, 23-1]=[-8, +7], vous voyez que -8 correspond à la plus petite valeur représentable sur 4 en complément à 2.