Nombres binaires signés - complément à 2 des nombres négatifs

Dans cette vidéo pédagogique, l’auteur explique comment les ordinateurs représentent les nombres négatifs en binaire à l’aide du système de nombres binaires signés et du complément à deux. Il commence par rappeler la différence entre nombres binaires naturels et signés, introduit le bit de signe et la règle de plage de valeurs pour n bits (N ∈ [−2^(n‑1), 2^(n‑1)‑1]). Il montre comment déterminer le nombre minimal de bits nécessaire pour coder un nombre donné, en illustrant avec –5 et +6. Ensuite, il décrit la méthode du complément à deux : inverser les bits (complément à un) puis ajouter 1, avec un exemple complet pour –5 (0101 → 1010 → 1011). Il précise que les nombres positifs sont simplement écrits en binaire naturel avec un bit de signe 0. Enfin, il montre la conversion inverse d’un nombre binaire signé (10011) en décimal, en recomposant le complément à deux pour récupérer la valeur absolue et en réappliquant le signe. La vidéo se conclut en annonçant une prochaine leçon sur la soustraction binaire, tout en rassurant l’apprenant.
Chapters
Bonjour à tous et bienvenue dans cette nouvelle vidéo sur les systèmes numériques. Dans la leçon précédente, nous avons vu comment effectuer l'opération d'addition de 2 nombres binaires naturels. Rappelons qu'un nombre binaire naturel est un nombre dont tous les bits sont pondérés par une puissance de 2. Par exemple, le nombre binaire 101 vaut 1 fois 2 à la puissance 2 plus 0 fois 2 à la puissance 1 plus 1 fois 2 à la puissance 0. Ce nombre correspond à 5 en base 10. Bien que des nombres binaires naturels paraissent faciles à appréhender par nous les humains, pour les ordinateurs il n'en est pas de même. Par exemple, essayons de représenter le nombre négatif -5 en binaire. Cela donne -101. Pour nous, il s'agit d'un nombre binaire comme un autre, sauf qu'il est négatif. En revanche, un ordinateur aura du mal à le déchiffrer pour la simple raison qu'il ne comprend que des 0 et des 1, alors que là nous avons le signe moins que les machines ne connaissent pas. Donc, si les nombres positifs ne présentent pas de problème pour les ordinateurs, les nombres négatifs quant à eux sont méconnaissables par ces derniers. La solution consiste donc à essayer d'exprimer les nombres négatifs par des 0 et des 1 seulement, comme c'est le cas pour les nombres positifs. Le résultat de cette présentation donne ce que l'on appelle un nombre binaire signé. Un nombre binaire signé est un nombre dont les bits ne sont pas tous pondérés par des puissances de 2 comme c'est le cas pour les nombres binaires naturels. Autrement dit, si l'on considère 101 comme étant un nombre binaire signé, alors sa correspondance en décimal ne vaut pas 5 comme c'est le cas pour les nombres binaires naturels. En effet, le premier bit à gauche d'un nombre signé est appelé bit de signe. S'il vaut 0 alors le nombre est positif et s'il vaut 1 alors le nombre est négatif. Cependant, on ne peut pas non plus coder les bits restants comme on le faisait avant, autrement dit, le nombre 101 en tant que nombre signé ne vaut pas -1 non plus. Voyons comment ça se passe. Imaginons que l'on veut représenter le nombre négatif -5 en binaire. La première opération consiste à coder normalement le nombre positif 5, puis on préfixe provisoirement le code binaire résultant par le signe moins. Cela donne -101. Ce nombre binaire est codé sur 3 bits, mais rien ne vous empêche d'ajouter des 0 à gauche du nombre vu qu'à ce stade il est toujours un nombre binaire naturel. Avant de continuer, il faut d'abord vérifier si 3 bits sont réellement suffisants pour coder le nombre -5 en tant que nombre binaire signé. Donc on applique simplement la formule suivante: N est compris entre -2 à la puissance n- 1 et 2 à la puissance n- 1, le tout moins 1. N en majuscule représente le nombre que l'on veut représenter en binaire signé, dans ce cas il s'agit du nombre -5, et le n en minuscule représente le nombre de bits minimum sur lequel le code binaire résultant doit être codé. Si on remplace n par 3, qui est le nombre de bits sur lequel le nombre -5 est codé initialement, alors les extrémités de l'intervalle sont -4 et 3. Donc le nombre -5 n'appartient pas à cet intervalle ce qui signifie qu'on ne peut pas le coder sur 3 bits. Rappelez-vous qu'à ce stade le nombre codé en binaire est considéré comme naturel, même s'il est précédé par le signe moins, donc on peut se permettre d'ajouter des 0 sur sa gauche et c'est justement ce qu'on va faire là. Nous allons ajouter un 0 puis nous allons vérifier si l'intervalle calculé est valide. Notre nombre binaire devient -0101. Souvenez-vous bien que le signe moins est placé à titre indicatif juste pour ne pas oublier que le nombre en question est négatif. Désormais, notre nombre binaire est codé sur 4 bits. Nous allons donc vérifier l'intervalle dont les extrémités deviennent -8 et 7. Vu que -5 appartient à cet intervalle, alors il peut être représenté sur un minimum de 4 bits. Quand je dis minimum, cela veut dire que l'on peut ajouter des 0 à gauche comme on veut. D'ailleurs, dans un microprocesseur, les nombres binaires signés sont souvent codés sur 32 bits ou 64 bits. Il est temps de faire disparaître le signe moins. Pour cela, il suffit de calculer le complément à 2 du nombre binaire naturel. En effet, -N= CA2. C'est-à-dire que pour retirer le signe moins du nombre binaire, il suffit de calculer son complément à 2. Pour calculer le complément à 2 d'un nombre binaire, on doit d'abord calculer son complément à 1 puis ajouter 1 à ce dernier. Appliquons ceci au nombre -5. On a -0101= CA2. Souvenez-vous que 0101 est la représentation du nombre 5 sur un minimum de 4 bits. Pour calculer le complément à 2 de 0101, on calcule d'abord son complément à 1. Le complément à 1 d'un nombre binaire consiste à inverser tous ses bits, donc le complément à 1 de 0101 vaut 1010. Ensuite, on effectue l'addition du complément à 1 calculé avec le nombre 1, cela donne 1011. 1011 est la représentation binaire signée du nombre -5. Remarquez que le bit de signe qui est le bit le plus à gauche est automatiquement transformé en 1. Ce qui signifie que le nombre est négatif. Notez qu'il existe un raccourci pour calculer le complément à 2 d'un nombre que l'on aura l'occasion de voir dans la prochaine vidéo qui sera consacrée à la soustraction des nombres binaires. Maintenant, imaginez que l'on veut représenter le nombre positif 6 sous la forme d'un nombre binaire signé. Le code binaire naturel résultant est 110, mais avec 3 bits l'intervalle autorisé est compris entre -4 et 3, ce qui ne laisse pas entrer le nombre 6. On ajoute un 0 à gauche et notre code devient 0110. Avec 4 bits, les extrémités de l'intervalle deviennent -8 et 7. Donc le nombre 6 appartient à cet intervalle, ce qui signifie qu'il doit être représenté sur un minimum de 4 bits. Puisque le nombre 6 est positif, alors sa représentation en nombre binaire signé est la même que sa représentation en nombre binaire naturel sur 4 bits, c'est-à-dire 0110. Autrement dit, on ne calcule pas de complément à 2 des nombres positifs pour les représenter sous forme de nombres binaires signés. Là encore, remarquez le bit de signe qui vaut 0, ce qui signifie que le nombre est positif. En guise d'exemple, imaginez qu'on vous a demandé de convertir le nombre binaire signé 10011 en décimal. Puisqu'il a été mentionné qu'il est signé, alors le bit à gauche est un bit de signe. Vu qu'il est à 1, alors le nombre est négatif. Puisque le nombre est négatif, alors on ne peut pas le convertir en décimal directement, il faut donc le recomplémenter à 2, car n'oubliez pas qu'il a été initialement complémenté à 2 afin qu'il devienne un nombre signé. En effet, le complément à 2 du complément à 2 d'un nombre binaire vaut ce même nombre binaire. Donc, le complément à 2 de 10011 vaut 01101. Maintenant, on peut convertir normalement le nombre résultant en décimal, ce qui donne 13. Mais il ne faut pas oublier le signe moins, car on sait qu'il est négatif. Alors le nombre binaire signé 10011 vaut -13 en décimal. Si vous n'arrivez pas toujours à bien assimiler ce concept, ne vous inquiétez pas. Dans la prochaine vidéo, nous allons voir comment effectuer l'opération de soustraction et nous allons nous servir pratiquement des notions qu'on a vues dans cette leçon. Merci pour votre attention et à la vidéo prochaine.
More from Yamossoun

Algorithme de calcule de la racine carrée par dichotomie #dichotomy #squareroot #algorithm









