ENTIER RELATIF EN BASE 2 : BIT DE SIGNE SIMPLE : BIT DE SIGNE AVEC COMPLEMENT A 2
Janvier 2012 BTS1
Donc deux méthodes.
Soit N un entier tel que: -127 ≤ N ≤ 127
• La première méthode est surtout utilisée quand 0 ≤ N ≤ 127.
On écrit N en binaire avec au plus 7 bits ( en complétant à gauche par des 0 pour qu'il y ait 7 bits )
On rajoute à gauche un huitième bit qui est 0.
( 0 • • • • • • • )
BIT du signe + de N Ecriture binaire de | N | c-à-d de N avec 7 bits
• Une variante de la seconde méthode " Complément à 2 " utilisée quand -127 ≤ N < 0.
On calcule en base 10 256 + N
On écrit en base 2 le nombre 256 +N on obtient les huit octets qui traduisent N
( 1 • • • • • • • )A2
BIT du signe - de N En fait l'criture binaire de | N | avec 7 bits
--------------------------------------------------------------------------------------------------------------------------------
ATTENTION LES DEUX METHODES NE DONNENT PAS LA MËME CHOSE.
Le label A2 pour dire Complément à 2 est pour la seconde méthode et sa variante
seulement.
-----------------------------------------------------------------------------------------------------------------------------------
.I. METHODE AVEC UN BIT DE SIGNE SIMPLE(pour un entier relatif entre - 127 et 127)
Soit N un entier relatif compris entre - 127 et 127 ( en système décimal )
Cette convention ne permet donc de coder que 255 entiers relatifs seulement.
Les 128 entiers naturels : 0; 1 ; 2 ; .... ; 127
Les 127 entiers négatifs : - 127 ; - 126 ; .... ; - 1
Le motif c'est que en base 2 la VALEUR ABSOLUE de l'entier relatif doit
s'écrire avec seulement 7 bits.
LE HUITIEME BIT RAJOUTE A GAUCHE EST RESERVE POUR LE SIGNE.
Or à partir de (128 )10 il faut plus de 7 bits pour écrire un
entier naturel en base 2.
(128 )10 = 27 = ( 1000 0000 )2
La techniqueest la suivante :
Soit -127 ≤ N ≤ 127
On écrit l'entier relatif N à l'aide de huit bits 0 ou 1.
( • • • • • • • • )2
BIT du signe de N Ecriture binaire de | N |
Le premier bit à gauche ( celui dit de poids le plus élevé ) est :
0 si N est positif. Donc N = ( 0 • • • • • • • )2
1 si N est négatif. Donc N = ( 1 • • • • • • • )2
Les 7 bits suivants servent pour écrire la valeur absolue de N.
Exemple:
Soit N = ( 127 )10 Ona bien -127 ≤ N ≤ 127
N est de signe +
Le bit de signe sera 0.
| N | = | 127 | = 127 dans le sytème décimal.
127 = 26 + 25 + 24 + 43 + 22 + 21 +20 = ( 111 1111 )2
Donc | N | = ( 111 1111 )2
Donc N = ( 0 111 1111 )2
Exemple :
Soit N = ( - 127 )10 On a bien -127 ≤ N ≤ 127
N est de signe -
| N | = | - 127 | = 127
Mais 127 = 26 + 25 + 24 + 43 + 22 + 21 +20
Donc | N | = | 127 | = ( 111 1111)2
Donc: N = ( 1 111 1111 )2
• Inconvénient de la méthode: Pour 0 on peut considérer - 0 ou + 0
C'est donc aussi bien ( 1 000 0000 ) que ( 0000 000 )
-------------------------------------------------------------------------------------------------------------------
.II. METHODE AVEC UN BIT DE SIGNE à l'aide " Complément à 2 )pour un entier relatif entre - 127 et 127)
Soit N un entier relatif .
Il y a encore le bit de poids fort qui est utilisé pour le signe.
On admet ici qu'un entier est représenté par n bits .
Partie 1
n = 8 si l'on représente un entier relatif par un octet. ( • • • • • • • • )A2
Soit N entier relatif tel que - 127 ≤ N ≤ 127
Il y a donc 255 entiers relatifs codables de cette façon .
Les entiers naturels de 0 à 127
Les entiers négatifs de - 127 à - 1
| N | a une écriture binaire avec 7 bits seulement .
On change 0 en 1 et 1 en 0 dans l'écriture binaire | N |.
On obtient NON | N |.
Puis on considère NON | N | + 1 sans compter de retenue à la fin .
• Premier cas : N est positif.
Exemple:
N = 38
N est bien tel que 0 ≤ N ≤ 127
N est de signe +
Le bit de signe est donc 0
| N | = 38 = 25 + 22 + 21 = ( 010 0110)2 avec 7 bits
| N | changé NON | N | + 1
010 0110 → 101 1001 + 1 = 101 1010
Ainsi : N =( 0 101 1010 )A2
( 38 )10 = ( 0 101 1010 )A2
• Second cas : N entier négatif
N = (- 38 )10
N est bien tel que -127 ≤ N <0
N est de signe -
Le bit de signe est donc 1
| N | = | - 38 | = 25 + 22 + 21 = ( 010 0110)2
| N | changé NON | N | + 1
010 0110 → 101 1001 + 1 = 101 1010
Ainsi : N =( 1 101 1010 )A2
N = ( - 38 )10 = ( 1 101 1010 )A2
Partie 2 Uniquement pour N entier négatif : - 127 ≤ N <0
Pour n =8
c-à-d dans le cas où la représentation de N se fait avec un octet.
La méthode revient à considérer: 28 - | N | puis à l'écrire en système binaire
par exemple :
• Reprenons N = - 38
En base 10 (256)10 - | N | = ( 256 )10 - |- 38 | = ( 218 )10
Mais :
( 218 )10 = 1×27+ 1×26+ 0×25 +1×24 +1×23 +0×22+1× 21 + 0× 20= ( 1101 1010 )2
On avait trouvé N = (( 1 101 1010 )A2
28 - | N | est donc bien un moyen de trouver l'écriture de N , entier négatif,
avec le complément à 2 quand N est représenté par un octet.
C'est généralisable à n ≠ 8 :
2n - | N | écrit en binaire est un moyen de trouver directement l'écriture de N , entier négatif,
avec le complément à 2 quand N est représenté par n bits.
-------------------------------------------------------------------------------------------------------------------
. III. EXERCICES :
EX1.
Soit N = - 40 dans le système décimal.
Trouver de trois façons différentes son écriture binaireavec un octet.
------------------------------------------------------
Réponse: On a : - 127 ≤ N < 0
• Une variante de la méthode du complément à 2.
En système décimal : 256 + N = 256 - 40 = 216
( 216 )10 = 27+ 26 + 24 + 23 = ( 1101 1000 )2
Conclusion : - 40 est représenté par ( 1101 1000 )A2 en binaire
Le bit du signe - s'est placé automatiquement à gauche.
• La méthode du Complément à 2.
Le bit de signe - est 1
| N | = | - 40 | = 40= 32 + 8
40 = 25 + 23 = ( 101000)2
On rajoute 0 à gauche pour avoir 7 bits
40 = ( 0101000)2 avec 7 bits
On change les 1 en 0 et les 0 en 1
NON( 0101000 )2 devient (1010111)2
On ajoute 1.
Retenues 111
1 010111
+ 1
-------------------
1011000
| N | = 40 est traduit par ( 1011000)
On complète avec le bit 1 à gauche
Conclusion : - 40 est représenté par ( 1 101 1000)A2
Même résultat.
• La méthode du bit de signe complémentaire.
Le bit de signe - est 1
| - 40 | = 40
40 = 25 + 23 = ( 101000)2
On rajoute 0 à gauche pour avoir 7 bits
40 = ( 0101000)2 avec 7 bits
On complète avec le bit 1 à gauche
Conclusion : - 40 est représenté par ( 1 010 1000)
ATTENTION : la représentation de - 40 n'est pas celle obtenue avec
le complément à 2. On ne peut pas mettre A2
en bas à droite.
----------------------------------------------------------------------------------------------------------------------
EX 2
Soit N = 40 dans le système décimal.
Trouver deux façons différentes d'écriture binaire de N avec un octet.
( les deux représentations sont différentes. )
----------------------------------------------------------------------------------------------------------------------------------
Réponse:
• La méthode du Complément à 2.
Le bit de signe + est 0
| N | = | 40 | = 40 = 32 + 8
40 = 25 + 23 = ( 101000)2
On rajoute 0 à gauche pour avoir 7 bits
40 = ( 0101000)2 avec 7 bits
On change les 1 en 0 et les 0 en 1
NON( 0101000 )2 devient (1010111)2
On ajoute 1.
Retenues 111
1 010111
+ 1
-------------------
1011000
| N | = 40 est traduit par ( 101 1000)
On complète avec le bit 0 à gauche
Conclusion : 40 est représenté par ( 0 101 1000)A2
•La variante de la méthode du Complément à 2 ne peut se faire car 40 est positif..
• La méthode du bit de signe complémentaire.
Le bit de signe + est 0
| 40 | = 40
40 = 25 + 23 = ( 101000)2
On rajoute 0 à gauche pour avoir 7 bits
40 = ( 0101000)2 avec 7 bits
On complète avec le bit 0 à gauche
Conclusion : 40 est représenté par ( 0 010 1000)
----------------------------------------------------------------------------------------------------------