Vous êtes sur la page 1sur 16

Numération et Codage ................................................................................................................

2
1- Systèmes de numération courants .......................................................................................... 2
1-1. Système décimal (base 10).............................................................................................. 2
1-2 Système binaire (base 2) .................................................................................................. 2
1-3 Système octal (base 8) ..................................................................................................... 2
1-4 Système hexadécimal (base 16) ....................................................................................... 3
1-5 Décodage - Codage .......................................................................................................... 3
1-6 Conversion entre bases .................................................................................................... 5
2- Systèmes de codage ............................................................................................................... 6
2-1 Le Décimal Codé en Binaire (DCB ou BCD en anglais)................................................. 6
2-2 Le binaire réfléchi (code de GRAY) ................................................................................ 6
2-3 Code ASCII ...................................................................................................................... 8
2-4 Codes détecteur et correcteur d’erreurs ........................................................................... 9
2-5 Etude du Code de Hamming .......................................................................................... 10
3- Opérations en binaire ........................................................................................................... 13
3-1 Nombres non signés ....................................................................................................... 13
3-2 Nombres signés .............................................................................................................. 14

Dr Salou HAMIDOU i
Numération et Codage

Les systèmes de numération les plus courants utilisent des chiffres (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
et des lettres (A, B, C, D, E, F) pour représenter un état physique. Cette représentation a
essentiellement un caractère conventionnel, ce qui permet d’associer à un état physique donné
une signification ou symbolisation particulière.

1- Systèmes de numération courants


Tout nombre (ou mot) peut être représenté sous le forme : (dndn-1…d1d0)b où b est la base et
di, i =0,1, …,n représente les symboles (chiffres et lettres) formant le nombre (ou mot) tel
que : (dndn-1…d1d0)b = dn.bn + dn-1.bn-1 + ….+ d1.b1 + d0.b0

1-1. Système décimal (base 10)


C'est la base la plus utilisée et la plus connue pour tous les calculs de tous les jours. C'est le
système décimal , il est basé sur le nombre 10 qui est la base , les chiffres 0,1,2,3,4,5,6,7,8 et
9 soit 10 caractères au total sont utilisés pour la représentation des nombres.
N = an.10n + an-1.10n-1 +....... + a0.100 ; où an est un chiffre de rang n.
Exemple : N = (1974)10 ou 1974 d → N = 1. 103 + 9. 102 + 7. 101 + 4. 100
Les puissances de 10 sont appelées les poids ou les valeurs de position. Le poids est égal à la
base élevée à la puissance de son rang.

1-2 Système binaire (base 2)


La base 2 utilise uniquement les chiffres 0, 1 soit deux caractères pour représenter des
nombres. Ces caractères Binaires sont appelés BITs (pour Binary digIT ou BInary digiT). Un
ensemble de 8 bits forment un Octet (byte). Un Triplet est formé de 3 éléments binaires, un
Quartet de 4. Un Mot (Word) est formé de 16, 32 ou 64 éléments binaires.
La notation des valeurs binaires peut être précédée du signe % ou suivi de l'indice de la base
2 ou d'un b.
11101001012 = 1.29 + 1.28 +1.27 + 0.26 +1.25 + 0.24 + 0.23 + 1.22 +0.21 +1.20

1-3 Système octal (base 8)


Il utilise 8 symboles (23 = 8) : 0, 1, 2, 3, 4, 5, 6, 7
Exemple : 3728 = 3.82 + 7.81 + 2.80

Dr Salou HAMIDOU 2
1-4 Système hexadécimal (base 16)
16 symboles sont employés (chiffres 0 à 9 et lettres A, B, C, D, E, F).
La représentation binaire utilisée par les ordinateurs est moins adaptée aux opérations
manuelles. Dans certains cas, il est cependant indispensable de pouvoir raisonner sur la
représentation interne des données. On utilise alors la représentation hexadécimale, qui
présente deux avantages :
• elle est concise (utilise moins de caractères pour représenter des mots) ;
• les conversions de l’hexadécimal vers le binaire et vice-versa sont immédiates.
Ex : 016 =0H = 00002 = 010 ; FH = 11112 = 1510 ; FFH = 25510 ;
3A5H = 3.162 + 10.161 + 5.160 = 3.256 + 160 + 5 = 93310

1-5 Décodage - Codage


 Décodage
Le décodage est l’opération qui consiste à transformer un nombre d’une base donnée en un
nombre décimal. Pour ce type de conversion, il suffit de représenter le nombre par une
combinaison linéaire des puissances successives de la base et faire la somme, le
résultat ainsi trouvé s’écrit directement dans la base 10.
Exemples : 10110012 = 1.26 +0.25 + 1.24 + 1.23 + 0.22 + 0.21 + 1.20
= 1.64 + 0.32 + 1.16 +1.8 + 0.4 + 0.2 +1.1 = 8910
16538 = 93910 ;
2FH = 4710.
Le tableau suivant donne les correspondances entre les principales bases utilisées des 20
premiers nombres décimaux.

Décimal Binaire Octal Hexa. Décimal Binaire Octal Hexa.

0 0000 0 0 10 1010 12 A
1 0001 1 1 11 1011 13 B Relation entre binaire, hexadécimal et octal :
2 0010 2 2 12 1100 14 C
3 0011 3 3 13 1101 15 D
4 0100 4 4 14 1110 16 E
5 0101 5 5 15 1111 17 F
6 0110 6 6 16 10000 20 10
7 0111 7 7 17 10001 21 11
8 1000 10 8 18 10010 22 12
9 1001 11 9 19 10011 23 13

Dr Salou HAMIDOU 3
Remarque : l’établissement du tableau fait apparaître que le bit de droite change d’état toutes
les lignes. Puis en décalant vers la gauche toutes les deux lignes, pour le second, toutes les
quatre lignes pour le troisième, …, 2n lignes pour le nième bit.

 Codage
Le codage (opération inverse du décodage) est l’opération qui consiste à transformer un
nombre décimal dans une autre base. Plusieurs méthodes sont utilisées
• Méthode de la division successive
Pour convertir la partie entière d’un nombre décimal N dans une autre base b (Nb), on divise
le nombre N que l’on désire convertir par b, puis on réitère l’opération avec le
dividende obtenu jusqu’à son annulation (obtenir un quotient nul). Le nombre (Nb)
cherché s’écrit en plaçant les restes des divisions successives dans l’ordre inverse de
leur obtention (sens de lecture de bas vers le haut).
Exemple : convertir 89 en binaire :

Ainsi 8910 = 10110012

• Méthode de la soustraction
Cette méthode consiste à retrancher du nombre décimal la plus grande puissance de la
base b possible, et ainsi de suite dans l’ordre décroissant des puissances. Si on peut
retirer la puissance de b concernée, on note (1) sinon on note (0) et on contenue de la même
manière jusqu'à la plus petite puissance de b possible (b0 pour les entiers).

Exemples : pour convertir 89 en binaire, on fera : 89 = 1x64(26) reste 25, donc 0x32 (25),
1x16 (24) reste 9, 1x8 (23) reste 1 donc 0x4(22) , 0x2 (21), 1x1(20).
D’où 89 = 1.26+ 0.25 +1.24 +1.23 +0.22 +0.21 + 1.20 = 10110012
100 = 1.82+ 4.81 +4.80 =1448 ;
1128 = 4.162 + 6.161 + 8.160 = 46816

• Conversion de la partie fractionnaire d’un nombre décimal vers une autre


base
On procède par multiplications successives par la base et on conserve à chaque fois la partie
entière du résultat dans l’ordre de leur obtention.
Exemples : Conversion de 89, 75 en base 2, 8 et 16

Dr Salou HAMIDOU 4
Partie entière 89 = 10110012 = 1318 = 5916
Partie fractionnaire 0,75 =
0,75x 2 = 1,5 → 1 0,75x 8 = 6 ; 0,75x16 = 12
0,5x 2 = 1 → 1 0,75 = (0,11)2 = (0,6)8 = (0,C)16
89,75 = (1011001,11)2 = (131,6)8 = (59,C)16

1-6 Conversion entre bases


Soient n et m deux bases distinctes. Pour passer de la base n vers la base m, on procède :
- Si m = nr, alors on regroupe le nombre dans la base n en r bits qu’on convertit en base
10. Inversement, on convertit chaque coefficient du nombre dans la base m en binaire
sur r bits.
- Si m ≠ nr : il faut passer de la base n vers base 10, puis de la base 10 vers la base m.
Hexadécimal vers binaire (16=24) : il suffit de remplacer chaque symbole du nombre en base
16 par sa valeur binaire sur 4 bits.
3A5H = 0011 1010 01012.
En effet, 0011101001012 = 0.211 + 0.210 +1.29 + 1.28 +1.27 + 0.26 +1.25 + 0.24 + 0.23 + 1.22
+0.21 +1.20 = (0.23 +0.22 +1.21 +1.20).28 + (1.23 +0.22 +1.21 +0.20).24 + 0.23 +1.22 +0.21 +1.20
= (00112).28 + (1010)2.24 + (0101)2.20 = 310.162 + 1010.161+ 5.160 =3A5H

Octal → binaire (8=23) s’obtient par conversion de chaque chiffre de la base 8 en binaire sur
3 bits.
Exemple : 1338 = (001) (011) (011) = 0010110112
1 3 3
Binaire → octal : on regroupe par 3 bits et on remplace par le chiffre décimal correspondant.
Exemple : 010 001 101 0002 = 21508.

Dr Salou HAMIDOU 5
2- Systèmes de codage

2-1 Le Décimal Codé en Binaire (DCB ou BCD en anglais)


Principe :
Chaque chiffre décimal (0, 1, . . . ,9) est codé en binaire avec 4 bits. Code pondéré avec les
poids 1, 2, 4, 8, 10, 20, 40, 80, 100, . . . Plus facile pour coder des grands nombre, il est
surtout utilisé pour l’affichage des nombres.
Ex : 19710 = 0001 1001 0111

Remarque :
Ne pas confondre DCB et code binaire pur : quand on code selon le code binaire pur on
prend le nombre dans son intégralité et on le convertit ; par contre, quand on code en DCB
on code chaque chiffre indépendamment les uns des autres.
Exemple
137 = (010001001)2 = (000100110111)DCB ; 231 = (11100111)2 = (001000110001)DCB

2-2 Le binaire réfléchi (code de GRAY)


Code conçu pour simplifier le fonctionnement des circuits logiques et éviter les problèmes de
transition lors du changement d’un mot au suivant.
Principe : ce code diffère du binaire pur par deux caractéristiques fondamentales :
 la transition d’un mot au suivant implique qu’un et un seul, bit change d’état ;
 le code est cyclique.
Illustration
On désire qu'en passant d'un nombre à son suivant (+1) ou précédent (-1), on n'ait qu'un seul
bit qui change. On désire de plus que les zéro rajoutés à gauche d'un nombre ne soient pas
significatifs. Sur deux bits, on utilisera les codes 00, 01, 11 puis 10. Sur 3 bits, on gardera les
mêmes premiers codes (précédés d'un zéro). La combinaison suivante débutera donc
obligatoirement par 1, donc les deux autres bits ne peuvent pas changer. On continuera à
prendre les mêmes codes, en ordre inverse, débutant par 1 : 110, 111, 101 et 100. En passant à
4 bits, on précède ces 8 cas d'un 0, les 8 suivants étant les mêmes, dans l'ordre inverse,
précédés d'un 1. Ce codage est utilisé dans les cas où des valeurs ne peuvent varier que par
incrémentation ou décrémentation : si l'on voit que plus d'un bit a changé entre deux valeurs,
c'est qu'il y a eu un problème (en général le nombre a changé trop vite, le système n'a pas eu
le temps de lire toutes les valeurs). Il faut par contre passer en binaire naturel pour tout autre
calcul que l'incrémentation.

Dr Salou HAMIDOU 6
Pour convertir un nombre en Code Binaire Naturel (CBN) vers un nombre en Code Binaire
Réfléchi (CBR), il faut ajouter le CBN trouvé à lui-même décalé d’un rang vers la gauche,
sans tenir compte de l’éventuelle retenue et en abandonnant dans le résultat le bit de poids
faible.
Exemple : Soit le nombre décimal 87 ; sa valeur binaire est 10101112.
Donc :
1010111
+1010111
11111001
L’équivalent en code binaire réfléchi de (87)10 est 1111100CBR
Règles pratiques :
1) le bit de gauche du code binaire est le même que celui du code de Gray ;
2) ajouter le MSB du binaire à son voisin de droite immédiat et reporter la somme (en
négligeant une retenue éventuelle) sur la ligne intérieure correspondant au Gray ;
3) continuer l’addition des bits à leur voisin de droite et reporter la somme ainsi obtenue
jusqu’à atteindre le LSB ;
4) le nombre de code de Gray aura le même nombre de bits que le binaire initial.
Pour la conversion inverse, les règles 1), 3) et 4) restent valables et pour la règle 2) procéder
de la même manière mais en ajoutant le bit obtenu du binaire à celui du gray suivant.
Exemples :

NB : Ce code dit "à distance minimale" est un code non pondéré (pas de poids affecté sur la
position des chiffres dans le mot) ; ne convient pas aux opérations arithmétiques ; utilisé dans
les convertisseurs par exemple.
Le tableau suivant donne la conversion entre systèmes des 18 premiers nombres décimaux

Décimal Octal Hexa. Binaire Gray Décimal Octal Hexa. Binaire Gray
0 0 0 0000 0000 8 10 8 1000 1100
1 1 1 0001 0001 9 11 9 1001 1101
2 2 2 0010 0011 10 12 A 1010 1111
3 3 3 0011 0010 11 13 B 1011 1110
4 4 4 0100 0110 12 14 C 1100 1010
5 5 5 0101 0111 13 15 D 1101 1011
6 6 6 0110 0101 14 16 E 1110 1001
7 7 7 0111 0100 15 17 F 1111 1000

Dr Salou HAMIDOU 7
2-3 Code ASCII
ASCII (American Standard Code for Information Interchange) est un code alphanumérique, il
sert à coder des chiffres, des lettres, des signes de ponctuations et des caractères spéciaux (26
lettres minuscules, 26 lettres majuscules, 7 signes, 20 à 40 caractères spéciaux comme +, /,
=, %, &, $...). C’est le plus répandu. On le retrouve pratiquement dans tous les ordinateurs et
leurs organes périphériques, pour leurs dialogues et la représentation des textes en mémoire.
Chaque symbole (caractère d’imprimerie) est codé par 7 bits (un 8ème bit peut servir de parité)
: 27 = 128 combinaisons différentes. On peut donc attribuer à chaque symbole un code dans
l’intervalle [0, …, 127= 27-1].

Décimal ASCII Lettres ASCII Caractères ASCII


(majuscules)
0 0110000 A 1000001 $ 0100100
1 0110001 B 1000010 + 0101011
2 0110010 C 1000011 - 0101101
3 0110011 D 1000100 * 0101010
4 0110100 E 1000101 / 0101111
5 0110101 F 1000110 , 0101100
6 0110110 G 1000111
7 0110111 H 1001000
8 0111000 I 1001001
9 0111001 J 1001010

Lors de la transmission de caractères de texte, si on utilise le code ASCII, chaque caractère


occupe 8 bits. Par exemple, le mot « HELLO » est représenté par 10010000 10001011
10011001 10011001 10011111.
Chaque caractère est codé sur 7 bits plus 1 bit de parité (bit de contrôle) en général placé
avant les bits d’information.

NB : Il existe d’autres nouveaux codes :


- ISO/IEC 10646 : codage sur 32 bits ;
- UNICODE (UNIversal CODE) : codage sur 16 bits, utilisable dans tout système
d’exploitation et langage de programmation, disponible dans plusieurs langues (latin,
hébreu, grec, tamoul, cyrillique, japonais, chinois…) et compatible avec ASCII ;
- EBCDIC (Extended Binary-Coded Decimal Interchange Code), développé par IBM,
permet de coder sur 8 bits.

Dr Salou HAMIDOU 8
2-4 Codes détecteur et correcteur d’erreurs
Lorsque des données numériques sont stockées ou transmises, des perturbations (par exemple
électromagnétiques) peuvent les endommager. Les codes détecteurs et correcteurs d’erreurs
permettent, dans une certaine mesure, de détecter si les données ont été altérées et si c’est le
cas, de reconstituer les données d’origine par un mécanisme de correction. Ces codes sont par
exemple utilisés dans les supports de stockage numériques que sont les CD, DVD et disques
Blu-ray.
Le rôle des codes détecteurs et correcteurs d’erreurs est de détecter les erreurs de transmission
et/ou de stockage et de les corriger. Ils utilisent pour cela une stratégie de consolidation, qui
consiste à ajouter de l’information redondante.
La détection des erreurs de transmission des données dans les systèmes numériques s’effectue
à l’aide d’un bit de parité qui est transmis avec le mot numérique.
La parité paire (beaucoup plus utilisée), repose sur la génération d’un bit à «1» lorsque le
nombre de 1 dans le mot y compris le bit de parité est pair
Le bit de parité est calculé de telle sorte que le nombre total de 1 soit toujours pair.
Exemple en code ASCII
Au mot d’information : 100 1101 → mot de code : 0 100 1101
Au mot d’information : 110 0111 → mot de code : 1 110 0111
La parité impaire (moins utilisée), repose sur la génération d’un bit à «1» lorsque le nombre
de 1 dans le mot y compris le bit de parité est impair.
Le schéma fonctionnel de la détection des erreurs par le bit de parité P, créé par un générateur
de parité à partir des données injectées se présente comme suit.

La détection de l’erreur de transmission des données dans les systèmes numériques s’effectue
à l’aide d’un bit de parité qui est transmis avec le mot numérique.
La table de vérité de générateur de bits de parité paire est illustrée comme suit.

Dr Salou HAMIDOU 9
N° 0 1 2 3 4 5 6 7 8
DCBA 0000 0001 0010 0011 0100 0101 0110 0111 1000
P 1 0 0 1 0 1 1 0 0
N° 9 10 11 12 13 14 15 16 17
DCBA 1001 1010 1011 1100 1101 1110 1111 10000 10001
P 1 1 0 1 0 0 1 0 1

Exemple : Trouver les sorties P du générateur de bits de parité correspondant à la situation


suivante.

La sortie P correspondant aux 12 impulsions est donnée par la liste suivante.


a:0; b:0; c:1; d:0; e:1; f:0; g:0; h:1; i:1; j:0; k:0; l:0

2-5 Etude du Code de Hamming


Le code Hamming permet, à la fois, de détecter une erreur et sa position, donc il y a
possibilité de faire la correction. C’est un code auto-correcteur.
 Structure d’un code Hamming
Elle se présente comme suit :
m bits du message à transmettre et n bits de contrôle de parité.
Longueur totale : x = 2n −1
Longueur du message : m = (2n −1) − n
On parle de code x−y où x = n+m et y = m.
Pour n = 3 correspond au code 7−4, qui a un coefficient d’efficacité de 4/7 = 57 %,
Pour n= 4corespond au code 15−11, qui a un coefficient d’efficacité de 11/15 = 73 %,
Pour n=5 correspond au code 31−26, qui a un coefficient d’efficacité de 26/31 = 83 %,
Les bits de contrôle de parité Pi (ou Ci) sont en position 2i pour i=0,1, 2,...
Les bits du message Dj (ou mi) occupe le reste du message. Le schéma suivant montre la
disposition des données transmises avec les bits de contrôle de la parité.

Dr Salou HAMIDOU 10
 Recherche de l’erreur dans un mot de Hamming

Si les bits de contrôle de réception P’0, P’1 et P’2 valent 0, il n’y a pas d’erreurs, sinon la
valeur des bits de contrôle indique la position de l’erreur entre 1 et 7.
Si P’0 vaut 1, les valeurs possibles de (P’2P’1P’0) sont 001, 011, 101, 111, c’est-à-dire 1, 3, 5,
7.
Si P’1 vaut 1, les valeurs possibles de (P’2P’1P’0) sont 010, 011, 110,111, c’est-à-dire 2, 3, 6,
7.
Si P’2 vaut 1, les valeurs possibles de (P’2P’1P’0) sont 100, 101, 110, 111, c’est-à-dire 4, 5, 6,
7.
 Calcul des bits de contrôle d’un code de parité paire

Le bit P0 est calculé par rapport aux bits d’indice de positions 7, 5, 3 et sa valeur de position 1.
Le bit P1 est calculé par rapport aux bits d’indice de positions 7, 6, 3 et sa valeur de position
2.
Le bit P2 est calculé par rapport aux bits d’indice de positions 7, 6, 5 et sa valeur de position 4.

Exemple : calculer les bits de contrôle de la transmission correcte du mot hamming 1010

1 0 1 ? 0 ? ?

7 6 5 4 3 2 1

P0 vaut 0 pour rendre pair 1+1+0 (c’est-à-dire les bits de positions 7, 5, 3)


P1 vaut 1 pour rendre pair 1+0+0 (c’est-à-dire les bits de positions 7, 6, 3)
P2 vaut 0 pour rendre pair 1+0+1 (c’est-à-dire les bits de positions 7, 6, 5)
On obtient ainsi le message transmis inscrit dans le tableau suivant.

1 0 1 0 0 1 0
7 6 5 4 3 2 1

Le schéma fonctionnel du code 7-4 présente le circuit de l’émission des données en passant
par les générateurs de bits de contrôle de la parité, puis les détecteurs d’erreurs, le correcteur
d’erreur jusqu’au système de réception des données.

Dr Salou HAMIDOU 11
 Etude de la transmission du mot 1010 (D7D6D5D3).

La sortie P4 du générateur de parité est 0 car les entrées sont 101; la sortie P2 est 1 car les
entrées sont 100 ; enfin la sortie P1 est 0 car les entrées sont 110, donc l’information binaire
émise sur la ligne de transmission sera 1010010.

- Cas de la transmission du mot 1010 sans erreur


La sortie de la ligne sera 1010010. Les détecteurs d’erreurs auront tous leurs sorties à 0, donc
les trois indicateurs afficheront 000 indiquant une transmission correcte, ainsi le circuit de
correction d’erreurs laisse passer les données (D7D6D5D3) soit 1010 au récepteur.

- Cas d’une transmission du mot 1010 avec erreur


Supposons qu’il y ait une erreur de transmission du mot 1010 sur le bit 5 (D5)

D D D P D P P
7 6 5 4 3 2 1

1 0 1 0 0 1 0

D D D P D P P
7 6 5 4 3 2 1

1 0 0 0 0 1 0

Dr Salou HAMIDOU 12
D D D P D P P E
7 6 5 4 3 2 1 4

1 0 0 0 x x x 1

D D D P D P P E
7 6 5 4 3 2 1 2

0
1 0 x x 0 1 x

D D D P D P P E
7 6 5 4 3 2 1 1

1 x 0 x 0 x 0 1

L’indicateur d’erreur affiche le binaire 101correspondant à 5 en décimal, ce qui montre que le


bit de position 5 est incorrect. Ainsi le circuit correcteur d’erreur modifie le bit 5 de 0 à 1 et le
mot corrigé est transmis au récepteur

3- Opérations en binaire

3-1 Nombres non signés

 Addition
Règles : 0 + 0 = 0 ; 0 +1 = 1 + 0 =1 ;
1 + 1 = 0 avec une retenue de 1 ;
1 + 1 + 1 =1 avec retenue de 1
Exemple : additionner en binaire les décimaux 25 et 9

 Soustraction

La soustraction en binaire se fait de la même manière qu'une addition, sauf que lorsque l'on
soustrait un bit à 1 d'un bit à 0, on soustrait une retenue pour le bit de poids plus élevé. Quand
la quantité à soustraire est supérieure à la quantité dont on soustrait, on emprunte 1 au voisin
de gauche. En binaire ce 1 ajoute 2 à la quantité dont on soustrait, tandis qu’en décimal il
ajoute 10.

Dr Salou HAMIDOU 13
 Multiplication
Règles : 1 × 0 = 0 ; 1 × 1 =1
Ex : effectuer la multiplication de 13 par 6 en binaire.

 Division
La méthode est identique à celle d’une division de deux nombres décimaux ; mais plus simple
encore, car le quotient ne prend que deux valeurs 1et 0 : 1 si le dividende est supérieur au
diviseur et 0 sinon.

Exemple 2 :
Exemple 1 :

Soit : (110101)2 = (101)2 x (101)2 Soit : (110110)2 = (1010)2 x (101)2 + (100)2


Ou encore en base 10 : 25 = 5 x 5 Ou encore en base 10 : 54 = 10 x 5 + 4

Remarques :
- l’addition est l’opération la plus importante dans les systèmes numériques ; les
opérations de soustraction, multiplication et division effectuées par les ordinateurs ne
sont essentiellement que des variantes de l’opération d’addition.
- si les nombres sont négatifs, on prend leur complément à 2 avant la division, le
quotient est en notation exacte ;
- - si l’un des nombres est négatif, on prend son complément à 2 avant la division, le
résultat est le complément à 2 du quotient cherché.

3-2 Nombres signés

Nous n’avons, jusqu’à présent tenu compte, que des nombre positifs. Pourtant, la
plupart des dispositifs numériques traitent également les nombres négatifs, ce qui impose de
prendre en compte deux symboles supplémentaire : + et -.

Dr Salou HAMIDOU 14
Ces dispositifs n’acceptant que des 0 et des 1, il faut ajouter un autre bit pour
symboliser le signe. Lorsqu’il est égal à 0, le nombre est positif ; s’il est égal à 1, le nombre
est négatif.
Ce bit est appelé bit de signe et le nombre ainsi formé est dit signé. Ainsi, avec deux
sortes de symbole, 0 et 1, il est possible de définir complètement un nombre binaire.

 Notation en grandeur exacte

C’est la première notation qui vient à l’esprit. Elle comprend :


- un ensemble de bits qui représente la norme du nombre : ce sont les bits de grandeur.
Exemple : (47)10 = (101111)2

- un bit indiquant si le nombre est positif ou négatif : c’est le bit de signe. C’est le
premier bit à gauche de l’ensemble de bits représentant le nombre binaire.
Exemple : + 47 = % 0 101111 et - 47 = % 1 101111

 Complément à 1 d’un nombre binaire

Complémenter à 1 (C1) un chiffre binaire revient à remplacer un 0 par un 1 et un 1 par un 0.


Cela revient à complémenter chaque bit de grandeur.
Exemple : - 47 s’écrit % 1 101111 en notation exacte et son complément à 1
est % 1 010000, le bit de signe restant inchangé.

 Complément à 2 d’un nombre binaire

Pour obtenir le complément à 2 (C2) d’un nombre binaire, il faut prendre le complément à 1
de ce nombre et lui ajouter 1.
Dans le cas d’une addition, un nombre binaire négatif est écrit sous la forme du complément à
2 car cela facilite la réalisation de l’opération.
Exemple : -47 s’écrit % 1 101111 en notation exacte, son complément à 1 est
% 1 010000, son complément à 2 est % 1 010001.

 Soustraction réalisée à l’aide de l’addition

Une soustraction peut se ramener à une addition en utilisant la méthode du complément à 2


(C2). On prend le complément à 1 (C1) du nombre à soustraire (inverser les 1 et les 0), auquel

Dr Salou HAMIDOU 15
on ajoute 1. Le résultat obtenu est ajouté au binaire de celui dont on soustrait (diminuande).
Un report à l’addition du dernier bit et toujours rejeté.

Exemple : Calculer 15 – 8 et 3 – 6

Autrement on prend le complément à 1 du nombre à soustraire ajouter à celui dont on


soustrait, puis on supprime 1 à gauche de ce résultat et enfin ajouter 1 à ce dernier résultat.
Ex : Calcul de 3 + (-3) et 27 + (-12) en binaire

0011 (3) 11011 (27)


- 0011 (-3) - 01100 (-12)
+ 1100 (complément à 1 de 3) + 10011 (complément à 1 de 12)
1111 101110
+ 1 + 1
10000 (0) 1111 (15)

Dr Salou HAMIDOU 16

Vous aimerez peut-être aussi