Pour aller plus loin

1. Les nombres négatifs

Un nombre signé, par exemple sur 8 bits, contient un bit réservé pour le signe. C’est en tout cas ainsi qu’on vous le présente pour plus de compréhension. Généralement c’est le bit de poids fort, le plus à gauche, qui sert pour le signe : à 0 le nombre est positif, à 1 il est négatif. Par exemple -9(10) devrait être représenté par 10001001(2). Cette représentation pratique pour le lecteur ne l’est cependant absolument pas pour l’ordinateur.

images/chap2_008n.png

Le bit de poids fort représente le signe

Additionnez -9 et 30, vous obtenez 21.

En binaire, 30 équivaut à 00011110. Le binaire s’additionne comme le décimal : 1+1=10 donc retenue de 1, et ainsi de suite :


 00011110 (30) 
+10001001 (-9) 
=10100111 (-39)
 

Il y a un problème ! Vous devriez obtenir 21 soit 00010101 ! C’est qu’en réalité un nombre négatif n’est pas représenté comme ceci. L’ordinateur "ruse" avec les manipulations binaires. L’astuce consiste à prendre le complément à un de la valeur binaire en valeur absolue (-9 => 9), et de lui rajouter 1. On obtient au final un complément à deux. Le complément à un consiste à remplacer tous les zéros (0) par des un (1) et tous les 1 par des 0. Le complément à deux consiste à ajouter...

Pour consulter la suite, découvrez le livre suivant :
couv_RICSHALG.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Opérateurs et calculs
Suivant
Types et langages