Vous êtes sur la page 1sur 26

Chapitre-1 Architecture des Ordinateurs & Codage binaire

Sommaire
1- Architecture de base d’un ordinateur ............................................................................... 2
1-1 Modèle de Van Neumann ........................................................................................................... 2
1-2 Principe de fonctionnement ....................................................................................................... 3
1-3 La mémoire principale (MP) ..................................................................................................... 4
a- Structure logique de la MP ................................................................................................................... 4
b- Mots de mémoire ................................................................................................................................. 6
c- Les bus ................................................................................................................................................. 6
d- Opérations sur la mémoire ................................................................................................................... 7
e- Adresse d'une information : ................................................................................................................. 7
f- Alignement des données dans la mémoire ........................................................................................... 7
1-4 La mémoire cache : ..................................................................................................................... 9
1-5 La mémoire morte ROM : ................................................................................................... 9
1-6 le processeur ............................................................................................................................... 9
a- Les registres et l'accumulateur : ......................................................................................................... 10
b- Architecture d’un processeur à accumulateur .................................................................................... 11
2- Représentation des données ................................................................................................ 12
2-1 Introduction.............................................................................................................................. 12
2-2 Changements de bases ............................................................................................................. 13
a- Représentation des nombres entiers ................................................................................................... 14
b- Représentation des nombres fractionnaires ........................................................................................ 14
c- Passage d’une base quelconque à la base 10 ...................................................................................... 14
d- Passage de la base 10 vers une base quelconque ................................................................................ 15
e- Cas particuliers des bases 2, 8 et 16 ................................................................................................... 15
2-3 Codification des nombres entiers ........................................................................................... 16
a- Entiers naturels................................................................................................................................... 16
b- Entiers relatifs (les nombres signés) .................................................................................................. 16
2-4 Codification des nombres réels (Normalisation IEEE) ......................................................... 20
2-5 Représentation des caractères ................................................................................................ 21
2-6 Opération sur les systèmes binaires ........................................................................................ 23
a- Addition et problème de débordement ............................................................................................... 23
b- Gestion de débordement ..................................................................................................................... 25
c- Soustraction binaire............................................................................................................................ 26
d- Multiplication binaire ......................................................................................................................... 26

A.BENMAKHLOUF Page 1
Chapitre-1 Architecture des Ordinateurs & Codage binaire

1- Architecture de base d’un ordinateur


Un ordinateur PC (Personal Computer) est un ensemble de composants électroniques
modulaires, c'est-à-dire des composants pouvant être remplacé par d'autres composants ayant
éventuellement des caractéristiques différentes, capables de faire fonctionner des programmes
informatiques. On parle ainsi de « hardware » pour désigner l'ensemble des éléments
matériels de l'ordinateur et de « software » pour désigner la partie logicielle.

Un ordinateur est composé de quatre éléments principaux, qui sont :

- l’unité centrale (UC), (Microprocesseur, RAM…).


- Les organes d’entrés (le clavier, le scanner, souries…)
- Les organes de sortie (Ecran, Imprimantes….)
- Les organes de stockages (Disquette, Disque Dur, CD ROM….)

Fig-1 : Architecture de base d’un Ordinateur

1-1 Modèle de Van Neumann

L’architecture de base de l’unité centrale d’un ordinateur est représentée par le modèle de
Von Neumann, qui est représenté par le schéma ci-dessous.

A.BENMAKHLOUF Page 2
Chapitre-1 Architecture des Ordinateurs & Codage binaire

Unité Centrale

Fig-2 : Le modèle original de Von Neumann pour l’architecture des ordinateurs.

Dans ce modèle on peut distinguer deux particularités :


- La première est séparation nette entre l’unité de commande, qui organise le flot de
séquencement des instructions, et l’unité arithmétique, chargée de l’exécution
proprement dite de ces instructions.
- La seconde, la plus fondamentale, est l’idée du programme enregistré: les instructions,
au lieu d’être codées sur un support externe (ruban, cartes, tableau de connexions),
sont enregistrées dans la mémoire selon un codage conventionnel.

1-2 Principe de fonctionnement


Les deux principaux constituants de l’unité centrale sont la mémoire principale et le
processeur. La mémoire principale (MP en abrégé) permet de stocker de l’information
(programmes et données), tandis que le processeur exécute pas à pas les instructions
composant les programmes. Ces deux principaux composant sont installés sur une grande
carte appelée « la carte mère »

A.BENMAKHLOUF Page 3
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Notion des programmes
Un programme est une suite d’instructions élémentaires, qui vont être exécutées dans l’ordre
par le processeur. Ces instructions correspondent à des actions élémentaires très simples,
comme l’addition deux nombres, lire ou écrire une case mémoire, etc.
Le processeur est capable d’exécuter des programmes en langage machine, c’est à dire
composés d’instructions très élémentaires suivant un codage précis. Chaque type de
processeur est capable d’exécuter un certain ensemble d’instructions, son jeu d’instructions.
Pour écrire un programme en langage machine, il faut donc connaître les détails du
fonctionnement du processeur qui va être utilisé.

1-3 La mémoire principale (MP)

Les mémoires sont des composants électroniques capables de stocker des données. Ces
derniers peuvent être de différents types (texte, nombres, etc.) mais elles sont toujours
stockées sous forme binaire. Toute information sera stockée comme une suite de 0 et de 1. La
plus petite unité d'information manipulable par une machine numérique est le chiffre binaire
(0 ou 1), que l’on appelle bit (pour binary digit, chiffre binaire). Un ensemble de 8 bits
constitue un Octet.
La mémoire principale ou mémoire vive est souvent appelée mémoire RAM (Random Access
Memory). Il s'agit d'une mémoire volatile : lorsque l'ordinateur est éteint ou réinitialisé, son
contenu disparait.

On distingue généralement deux grandes catégories de mémoires vives :

 Les mémoires dynamiques (DRAM, DynamicRandom Access Module), peu


coûteuses. Elles sont principalement utilisées pour la mémoire centrale de
l'ordinateur ;
 Les mémoires statiques (SRAM, StaticRandom Access Module), rapides et
onéreuses. Les SRAM sont notamment utilisées pour les mémoires cache et les
registres du processeur ;

a- Structure logique de la MP

La mémoire est divisée en emplacements (ou mots de mémoire) de taille fixe à m bits (2, 4 ou
8 octets) utilisés pour coder 2m instructions et données différentes. (octets (byte en anglais),
soit 8 bits, unité pratique pour coder un caractère par exemple).
Chaque emplacement est repéré par son numéro, appelé adresse mémoire. Une adresse
mémoire est un nombre entier représentée en binaire et qui est en générale écrit en
Hexadécimal (représentation condensée des données binaire). Une adresse de n bits peut
désigner 2n mots mémoires distincts.

A.BENMAKHLOUF Page 4
Chapitre-1 Architecture des Ordinateurs & Codage binaire

Figure 5: Structure de la mémoire principale.

n = largeur du bus d'adresses


m = largeur du bus de données

Soit n la taille du bus d’adresses. Soit m la taille du bus de données (taille d’un mot mémoire).
On peut exprimer la capacité de la mémoire centrale soit en nombre de mots mémoire ou en
bits (octets, kilo-octets,….)
– La capacité = 2n Mots mémoire
– La capacité total = 2n * m Bits

Exemple :

A.BENMAKHLOUF Page 5
Chapitre-1 Architecture des Ordinateurs & Codage binaire
– La capacité = 24 = 16Mots mémoire
– La capacité total = 24 * 8 = 16*8 = 128 Bits

Les unités de mesure basées sur l’octet :

 1 Bit (b)  Peut prendre la valeur 0 ou 1


 1 Octet (o)  8 Bits
 1 Kilo Octet (Ko)  1024 Octets
 1 Méga Octet (Mo)  1024 Kilo octet
 1 Giga Octet (Go)  1024 Méga octet
 1 Téra Octet (To)  1024 Giga octet
 1 Péta Octet (Po)  1024 Téra octet
 1 Exa Octet (Eo)  1024 Péta octet

b- Mots de mémoire

C’est l’unité de base manipulée par un microprocesseur. La taille d’un mot s’exprime
en bits ou en octets, et est souvent utilisée pour classer les microprocesseurs (processeur à
32 bits, 64 bits, etc.). Un microprocesseur est d’autant plus rapide que ses mots sont longs.
Processeur n bits est un processeur équipé pour le traitement en parallèle de n éléments
binaires.
Un mot de mémoire ou mot est donc un groupe de position mémoire adressable dans son
ensemble. C’est une séquence de bits stockée dans la mémoire et traitée comme une entité
unique.

c- Les bus
D'une façon générale, on appelle bus en informatique un ensemble de N lignes en parallèle.
Le bus d'adresse est un bus informatique permettant l'adressage de la mémoire dans des
systèmes à base de processeur. La taille (c'est-à-dire le nombre de lignes) du bus d'adresse
dépend directement du processeur choisi ; elle détermine l'espace adressable selon la
relation M=2n, où M est la quantité de mots de la mémoire et m le nombre de lignes
d'adresse.
Un bus de données est destiné au transfert des données au sein de l'ordinateur. Le terme est
aussi utilisé par extension dans le domaine logiciel. II interconnecte le processeur, la mémoire
centrale et les contrôleurs de périphériques. Il est bidirectionnel, contrairement au bus
d'adresse. La largeur du bus de données dépend directement du processeur. Cette largeur est
celle des mots de mémoire ou emplacement. On parle des processeurs de 32bits, 64bits et
128bits.

Le bus de contrôle est utilisé par le processeur pour indiquer la direction de la transaction
sur le bus de données, par exemple, s'il veut faire une écriture ou une lecture dans une case
mémoire (emplacement), ou une entrée/sortie de ou vers un périphérique.

A.BENMAKHLOUF Page 6
Chapitre-1 Architecture des Ordinateurs & Codage binaire

d- Opérations sur la mémoire

Seul le processeur peut modifier l'état de la mémoire.

Chaque emplacement mémoire conserve les informations que le processeur y écrit jusqu'à
coupure de l'alimentation électrique, où tout le contenu est perdu (contrairement au contenu
des mémoires externes comme les disquettes et disques durs).

Les seules opérations possibles sur la mémoire sont :

 Ecriture d'un emplacement : le processeur donne une valeur et une adresse, et la


mémoire range la valeur à l'emplacement indiqué par l'adresse;
 Lecture d'un emplacement : le processeur demande à la mémoire la valeur contenue à
l'emplacement dont il indique l'adresse. Le contenu de l'emplacement lu reste
inchangé.

e- Adresse d'une information :


Chaque information est repérée par son adresse, c'est à dire le numéro de son premier octet.
Cet adressage en termes d'octets permet d'adresser, de repérer, en mémoire tous types
d'information, quel que soit leur taille. On peut ainsi adresser un simple octet (un char en
langage C), un mot sur deux octets (un short en langage C), etc.

f- Alignement des données dans la mémoire


Pour augmenter leurs performances, les processeurs sont souvent reliés à la mémoire vive par
un bus de données plus large que la granularité de leur adressage (ensemble des bits
adressable) : par exemple un processeur capable d'adresser individuellement
des octets (8 bits), relié à la mémoire par un bus de données de 4 octets (32 bits). Donc dans
ce cas le processeur peut traiter d’un seul cout des données qui sont alignées dans un
emplacement de 32 bits (4 octets).
Lorsque des données de tailles différentes (différents types) sont enregistrées en mémoire les
unes à la suite des autres, il peut être utile, voire nécessaire, de laisser des trous entre elles afin
qu'elles soient toutes bien alignées. Cela s’observe notamment sur les types de
donnée composés (les structures).

Dans les exemples ci-dessous nous allons exposer trois configurations d’occupation de la
mémoire. Dans les deux derniers exemples nous stockons dans la RAM les mêmes données
mais l’occupation de la mémoire n’est pas la même.

Exemple-1 :

A.BENMAKHLOUF Page 7
Chapitre-1 Architecture des Ordinateurs & Codage binaire

Processeur 32 bits

Bus de Données 32 bits


Num Octet Octet 0 Octet 1 Octet 2 Octet 3

Adresse 1er Octet


28FF40 Donnée / 4 octets
28FF44 Donnée / 2 octets Donnée / 2 octets
28FF48 Donnée/ 1 octet Donnée / 1 octet Donnée / 1 octet Donnée / 1 octet
28FF4C Donnée / 2 octets Donnée / 1 octet

Exemple-2 : dans cet exemple, on stock 3 données de 4 octets (entiers ou int I1, I2, I3) et deux
données de 2 octets (entiers court ou short S1, S2).
Les adresses de ces données sont :
I1 : 28FEFC // S1 : 28FF02 // I2 :28FF04 // S2 : 28FF0A // I3 : 28FF0C
L’ensemble de l’espace occupé est de 20o
Bus de Données 32 bits
Num Octet Octet 0 Octet 1 Octet 2 Octet 3

Adresse 1er Octet


28FEFC Donnée / 4 octets
28FF00 Donnée / 2 octets
28FF04 Donnée/ 4 octet
28FF08 Donnée / 2 octet
28FF0C Donnée/ 4 octet

Exemple-3 : dans cet exemple, on stock les mêmes données que l’exemple-2 mais
l’alignement n’est pas la même.
Les adresses de ces données sont :
S1 : 28FF00 // S2 : 28FF02 // I1 :28FF04 // I2 : 28FF08 // I3 : 28FF0C
L’ensemble de l’espace occupé est de 16o

Bus de Données 32 bits


Num Octet Octet 0 Octet 1 Octet 2 Octet 3

Adresse 1er Octet


28FF00 Donnée / 2 octets Donnée / 2 octets
29FF04 Donnée/ 4 octet
28FF08 Donnée / 4 octet
28FF0C Donnée/ 4 octet

A.BENMAKHLOUF Page 8
Chapitre-1 Architecture des Ordinateurs & Codage binaire
1-4 La mémoire cache :

Pour réduire les accès - relativement lents- : à la mémoire vive, toutes les ordinateurs actuelles
sont actuellement équipées de mémoire cache. Chaque fois que le processeur obtient des
données en provenance de la RAM, il place une copie dans la mémoire cache de telle sorte
que le processeur pourra y accéder beaucoup plus rapidement en cas de besoin. La mémoire
cache est constamment mise à jour avec les données les plus récentes.

Les ordinateurs récents possèdent plusieurs niveaux de mémoire cache :

 La mémoire cache de premier niveau (appelée L1 Cache, pour Level 1 Cache) est
directement intégrée dans le processeur. Elle se subdivise en 2 parties :
o La première est le cache d'instructions, qui contient les instructions
issues de la mémoire vive décodées lors de passage dans les
pipelines.
o La seconde est le cache de données, qui contient des données issues
de la mémoire vive et les données récemment utilisées lors des
opérations du processeur.
Les caches du premier niveau sont très rapides d'accès. Leur délai d'accès tend à
s'approcher de celui des registres internes aux processeurs.

 La mémoire cache de second niveau (appelée L2 Cache, pour Level 2 Cache) est située au
niveau du boîtier contenant le processeur (dans la puce). Le cache de second niveau vient
s'intercaler entre le processeur avec son cache interne et la mémoire vive. Il est plus rapide
d'accès que cette dernière mais moins rapide que le cache de premier niveau.
 La mémoire cache de troisième niveau (appelée L3 Cache, pour Level 3 Cache) autrefois
située au niveau de la carte mère (utilisation de la mémoire centrale), elle est aujourd'hui
intégrée directement dans le CPU.

1-5 La mémoire morte ROM :


La mémoire morte, appelée ROM pour Read Only Memory (traduisez mémoire en lecture
seule) est un type de mémoire permettant de conserver les informations qui y sont contenues
même lorsque la mémoire n'est plus alimentée électriquement. A la base ce type de mémoire
ne peut être accédée qu'en lecture. Toutefois il est désormais possible d'enregistrer des
informations dans certaines mémoires de type ROM.

1-6 le processeur

Le processeur est parfois appelé CPU (en anglais Central Processing Unit) est un circuit
électronique complexe qui exécute chaque instruction très rapidement, en quelques cycles
d’horloges. Toute l’activité de l’ordinateur est cadencée par une horloge unique, de façon à ce
que tous les circuits électroniques travaillent ensembles. La fréquence de cette horloge
s’exprime en MHz (millions de battements par seconde). Par exemple, un ordinateur “PC
Pentium 133” possède un processeur de type Pentium et une horloge à 133 MHz.

A.BENMAKHLOUF Page 9
Chapitre-1 Architecture des Ordinateurs & Codage binaire

Fig-4 : deux types de processeur du fabriquant « Intel ». A droite : un processeur « Core 2 Duo ». A gauche un
processeur « Celeron » .

Pour chaque instruction, le processeur effectue schématiquement les opérations suivantes :


1- lire en mémoire (MP) l’instruction à exécuter ;
2- effectuer le traitement correspondant ;
3- passer à l’instruction suivante.

L'architecture de base des processeurs équipant les gros ordinateurs est la même que celle des
microprocesseurs qui se trouvent dans ordinateurs personnels.

Le processeur est divisé en deux parties (voir figure-3), l’unité de commande et l’unité de
traitement :
 l’unité de commande est responsable de la lecture en mémoire et du décodage des
instructions.
 l’unité de traitement, aussi appelée Unité Arithmétique et Logique (U.A.L.), exécute
les instructions qui manipulent les données.

a- Les registres et l'accumulateur :

Le processeur utilise toujours des registres, qui sont des petites mémoires internes très rapides
d'accès utilisées pour stocker temporairement une donnée, une instruction ou une adresse.
Chaque registre stocke 8, 16 ou 32 bits.

Le nombre exact de registres dépend du type de processeur et varie typiquement entre une
dizaine et une centaine.

Parmi les registres, le plus important est le registre accumulateur, qui est utilisé pour stocker
les résultats des opérations arithmétiques et logiques. L'accumulateur intervient dans une
proportion importante des instructions.

Par exemple, examinons ce qu'il se passe lorsque le processeur exécute une instruction
comme « Ajouter 5 au contenu de la case mémoire d'adresse 180 » :

1. Le processeur lit et décode l'instruction;


2. le processeur demande à la mémoire le contenu de l'emplacement 180;
3. la valeur lue est rangée dans l'accumulateur;
4. l'unité de traitement (UAL) ajoute 5 au contenu de l'accumulateur;
5. le contenu de l'accumulateur est écrit en mémoire à l'adresse 180.
A.BENMAKHLOUF Page 10
Chapitre-1 Architecture des Ordinateurs & Codage binaire
b- Architecture d’un processeur à accumulateur
La figure-6 représente l’architecture interne simplifiée d’un processeur à accumulateur.
On y distingue l’unité de commande, l’UAL, et le décodeur d’instructions, qui, à partir du code de
l’instruction lu en mémoire actionne la partie de l’unité de commande nécessaire. C'est l'unité de
commande qui déclenche chacune de ces actions dans l'ordre. L'addition proprement dite est
effectuée par l'UAL.
Les informations circulent à l’intérieur du processeur sur deux bus internes (fils
conductreurs), l’un pour les données, l’autre pour les instructions.

Figure 6: Schéma simplifié d'un processeur.

Le processeur est relié à l'extérieur par les bus de données et d'adresses, le signal d'horloge et
les signaux de commandes.

La figure représente l'architecture interne simplifiée d'un MPU à accumulateur. On y


distingue l'unité de commande, l'UAL, et le décodeur d'instructions, qui, à partir du code de
l'instruction lu en mémoire actionne la partie de l'unité de commande nécessaire.

Les informations circulent à l'intérieur du processeur sur deux bus internes, l'un pour les
données, l'autre pour les instructions.

Les différents mémoires registres qui peuvent exister dans un processeur sont :

ACC : Accumulateur;
RTUAL: Registre Tampon de l'UAL, stocke temporairement l'une des deux opérandes d'une
instruction arithmétique (la valeur 5 dans l'exemple donné plus haut);
Reg. D’état : stocke les indicateurs, que nous verrons plus tard;
RI : Registre Instruction, contient le code de l'instruction en cours d'exécution (lu en
mémoire via le bus de données);
IP : Instruction Pointer ou Compteur de Programme, contient l'adresse de l'emplacement
mémoire où se situe la prochaine instruction à exécuter;

A.BENMAKHLOUF Page 11
Chapitre-1 Architecture des Ordinateurs & Codage binaire
RTA : Registre Tampon d'Adresse, utilisé pour accéder à une donnée en mémoire.
Les signaux de commandes permettent au processeur de communiquer avec les autres circuits
de l'ordinateur. On trouve en particulier le signal R/W (Read/Write), qui est utilisé pour
indiquer à la mémoire principale si l'on effectue un accès en lecture ou en écriture.
Le processeur (CPU, pour Central Processing Unit, soit Unité Centrale de Traitement)
permet de manipuler des informations numériques, c'est-à-dire des informations codées sous
forme binaire, et d'exécuter les instructions stockées en mémoire.

La vitesse d'un processeur s'exprime en MHz, et correspond à la fréquence de l'horloge


interne et au nombre d'instructions qu'est capable d'exécuter le processeur en une seconde
(exemple: 166 MHz = 166 millions d'instructions par seconde).

Deux types de vitesse sont à considérer pour un processeur :


Vitesse interne (nombre d’opération par seconde
Vitesse externe (vitesse à laquelle le processus peut communiquer avec les éléments
périphériques de l’ordinateur).
Aujourd’hui, les processeurs les plus courants sont du type Pentium. Plusieurs sociétés se
disputent le marché du processeur : Intel, Cyrix et AMD.

Fabricant Processeur Freq. Interne Freq. externe


Intel Pentium II 3,00 MHz 66 MHz
Pentium IV 2,80 GHz 295 MHZ
Pentium IV 3,8 GHz 666 MHZ
Celeron 2,50 GHz 1333 MHz
Centrino 2,13 GHz 1333 Mhz
Core 2 Duo 2,33 GHz/cœur
Core 2 Quad 2,55 Ghz/cœur
Core i7 980X Hexa 3,33 Ghz /cœur
AMD Phenom Quad core 2,5Ghz
Phenom II X6 3,3 Ghz

2- Représentation des données


2-1 Introduction

L'homme calcule depuis 2000 ans avant Jésus-Christ avec 10 chiffres (0, 1, 2, 3, 4, 5, 6, 7, 8,
9), on parle alors de base décimale (ou base 10). Toutefois dans des civilisations plus
anciennes ou pour certaines applications actuelles d'autres bases de calcul ont et sont toujours
utilisées :

 Base sexagésimale (60), utilisée par les Sumériens. Cette base est également utilisée
dans le système horaire actuel, pour les minutes et les secondes ;
 Base vicésimale (20), utilisée par les Mayas ;
 Base duodécimale (12), utilisée par les anglo-saxons dans leur système monétaire
jusqu'en 1960 : un «pound» représentait vingt «shilling» et un «shilling» représentait
douze «pences». Le système d'heure actuel fonctionne également sur douze heures
(notamment dans la notation anglo-saxonne) ;

A.BENMAKHLOUF Page 12
Chapitre-1 Architecture des Ordinateurs & Codage binaire
 Base quinaire (5), utilisée par les Mayas ;
 Base binaire (2), utilisée par l'ensemble des technologies numériques.

Lorsqu’un ordinateur traite du texte, du son, de l’image, de la vidéo, il traite en réalité des
nombres. Un ordinateur manipule exclusivement des informations binaires,
Mais qu’est-ce qu’une information binaire ? C’est une information qui ne peut avoir que deux
états : par exemple, ouvert - fermé, libre –occupé, militaire – civil, assis – couché, blanc –
noir, vrai – faux, etc. Si l’on pense à des dispositifs physiques permettant de stocker ce genre
d’information, on pourrait citer : chargé – non chargé, haut – bas, troué – non troué.
On ne donne pas le dernier exemple au hasard : ce sont précisément ceux dont se sert un
ordinateur pour stocker l’ensemble des informations qu’il va devoir manipuler. En deux mots,
la mémoire vive (la « RAM ») est formée de millions de composants électroniques qui
peuvent retenir ou relâcher une charge électrique. La surface d’un disque dur, d’une bande ou
d’une disquette est recouverte de particules métalliques qui peuvent, grâce à un aimant, être
orientées dans un sens ou dans l’autre. Et sur un CD-ROM, on trouve un long sillon étroit
irrégulièrement percé de trous.
Toutefois, la coutume veut qu’on symbolise une information binaire, quel que soit son support
physique, sous la forme de 1 et de 0. Il faut bien comprendre que ce n’est là qu’une
représentation, une image commode, que l’on utilise pour parler de toute information binaire.
Dans la réalité physique, il n’y a pas plus de 1 et de 0 qui se promènent dans les ordinateurs.
Le 1 et le 0 sont des signes, ni plus, ni moins, pour désigner une information,
indépendamment de son support physique.
Les informations traitées par un ordinateur peuvent être de différents types (texte, nombres,
etc.) mais elles sont toujours représentées et manipulées par l'ordinateur sous forme binaire.
Toute information sera traitée comme une suite de 0 et de 1. L'unité d'information est le
chiffre binaire (0 ou 1), que l'on appelle bit (pour binary digit, chiffre binaire).
Le codage d'une information consiste à établir une correspondance entre la représentation
externe (habituelle) de l'information (le caractère A ou le nombre 36 par exemple), et sa
représentation interne dans la machine, qui est une suite de bits.

2-2 Changements de bases

Avant d'aborder la représentation des différents types de données (caractères, nombres


naturels, nombres réels), il convient de se familiariser avec la représentation d'un nombre dans
une base quelconque (par la suite, nous utiliserons souvent les bases 2, 8, 10 et 16).
Habituellement, on utilise la base 10 pour représenter les nombres, c'est à dire que l'on écrit à
l'aide de 10 symboles distincts, les chiffres.
En base b, on utilise b chiffres. Notons ai la suite des chiffres utilisés pour écrire un nombre

x = an-1 an2 ... a1 a0

a0 est le chiffre des unités.

 En décimal, b=10, ai{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };


 En binaire, b=2, ai{ 0, 1 } : 2 chiffres binaires, ou bits;
 En hexadécimal, b=16, ai{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F } (on utilise les
6 premières lettres comme des chiffres).

A.BENMAKHLOUF Page 13
Chapitre-1 Architecture des Ordinateurs & Codage binaire
a- Représentation des nombres entiers
En base 10, on écrit par exemple 1996 pour représenter le nombre

1996 = 1 103 + 9 102 + 9 101 + 6 100


Dans le cas général, en base b, le nombre représenté par une suite de chiffres an an1 ... a1 a0
est donné par :
n-1

an-1 an2 ... a1 a0 = a b i


i

i=0

a0 est le chiffre de poids faible, et an le chiffre de poids fort.

Exemple en base 2 :

( 101 )2 = 1 22 + 0 21 + 1 20 =4+0+1=5

La notation ( )b indique que le nombre est écrit en base b.

b- Représentation des nombres fractionnaires


Les nombres fractionnaires sont ceux qui comportent des chiffres après la virgule.
Dans le système décimal, on écrit par exemple :

12,346 = 1 101 + 2 100 + 3 101 + 4 102 + 6 103

En général, en base b, on écrit :

anan1 ... a1 a0, a1 a2 ... ap = anbn + an1bn1 + ... + a0 b0 + a1 b1 + ... + ap bp

c- Passage d’une base quelconque à la base 10

Il suffit d'écrire le nombre comme ci-dessus et d'effectuer les opérations en décimal.


Exemple en hexadécimal :

(AB)16 = 10 161 + 11 160 = 160 + 11 = (171)10

(1101)2 = 1.20 + 0.21 + 1.22+ 1.23 = (13)10

(11,01)2 = 1.20 + 1.21 + 0.2-1+ 1.2-2 = (3,25)10

(en base 16, « A » représente 10, B 11, et F 15).

A.BENMAKHLOUF Page 14
Chapitre-1 Architecture des Ordinateurs & Codage binaire
d- Passage de la base 10 vers une base quelconque

Nombres entiers On procède par divisions successives. On divise le nombre par la base,
puis le quotient obtenu par la base, et ainsi de suite jusqu'à obtention d'un quotient nul.
La suite des restes obtenus correspond aux chiffres dans la base visée, a0 a1 ... an.
Exemple : soit à convertir (44)10 vers la base 2.

44 = 22 x 2 + 0  a0 = 0
22 = 11 x 2 + 0  a1 = 0
11 = 2 x 5 + 1  a2 = 1
5 = 2 x 2 + 1  a3 = 1
2 = 1 x 2 + 0  a4 = 0
1 = 0 x 2 + 1  a5 = 1

Donc (44)10 = (101100)2.

Nombres fractionnaires On multiplie la partie fractionnaire par la base en répétant


l'opération sur la partie fractionnaire du produit jusqu'a ce qu'elle soit nulle (ou que la
précision voulue soit atteinte).
Pour la partie entière, on procède par divisions comme pour un entier.
Exemple : conversion de (54,25)10 en base 2
Partie entière : (54)10 = (110110)2 par divisions.
Partie fractionnaire :
0,25 x 2 = 0,50  a1 = 0
0,50 x 2 = 1,00  a2 = 1
0,00 x 2 = 0,00  a3 = 0

e- Cas particuliers des bases 2, 8 et 16

Ces bases correspondent à des puissances de 2 (21, 23 et 24), d'où des passages de l'une à
l'autre très simples. Les bases 8 et 16 sont pour cela très utilisées en informatique, elles
permettent de représenter rapidement et de manière compacte des configurations binaires.

La base 8 est appelée notation octale, et la base 16 notation hexadécimale.

Chaque chiffre en base 16 (24) représente un paquet de 4 bits consécutifs. Par exemple :

(10011011)2 = (1001 1011)2 = (9B)16

De même, chaque chiffre octal représente un paquet de 3 bits.

S’il y a des bits qui manquent on complète le paquet de 3 ou 4 bits par des 0 à gauche. On ne
change rien à un nombre si on ajoute des zéros à gauche.

A.BENMAKHLOUF Page 15
Chapitre-1 Architecture des Ordinateurs & Codage binaire
On manipule souvent des nombres formés de 8 bits, nommés octets, qui sont donc notés sur 2
chiffres hexadécimaux.

2-3 Codification des nombres entiers

La représentation (ou codification) des nombres est nécessaire afin de les stocker et manipuler
par un ordinateur. Le principal problème est la limitation de la taille du codage : un nombre
mathématique peut prendre des valeurs arbitrairement grandes, tandis que le codage dans
l'ordinateur doit s'effectuer sur un nombre de bits fixé.

a- Entiers naturels
Les entiers naturels (positifs ou nuls) sont codés sur un nombre d'octets fixé (un octet est un
groupe de 8 bits). On rencontre habituellement des codages sur 1, 2 ou 4 octets.

Un codage sur n bits permet de représenter tous les nombres naturels compris entre 0 et 2n1.
Par exemple sur 1 octet, on pourra coder les nombres de 0 à 255 = 281.

On représente le nombre en base 2 et on range les bits dans les cellules binaires correspondant
à leur poids binaire, de la droite vers la gauche. Si nécessaire, on complète à gauche par des
zéros (bits de poids fort).

b- Entiers relatifs (les nombres signés)

Un entier relatif est un entier pouvant être négatif ou po. Soit un nombre de n bits s’écrivant
de la manière suivante :

(N)b = an-1 an2 ... a1 a0

Par convention, le bit de poids fort an-1 appelé bit de signe est utilisé pour représenter le signe.
Les autres
Bits an-2 ... a1 a0. Ainsi sur n bits on peut coder des nombres signés appartenant à
[-(2n-1-1),2n-1-1]

Il existe trois méthodes pour coder binaire des nombres entiers signés :
- La méthode du signe et valeur absolue. Utiliser un bit de signe et coder la valeur
absolue
- Les méthodes du signe et complément
o La méthode du « complément à b-1 » (complément à 1 en binaire)
o La méthode du « complément à b » (complément à 2 en binaire)

Pour ces trois méthodes On considère le 1er bit « an-1 » du gauche comme un bit de signe pour
préciser le signe du nombre. Il prend les valeurs:

 0 si le nombre est positif « + »


 b-1 si le nombre est négatif « - ». Dans la base 2 ce bit prend 1

A.BENMAKHLOUF Page 16
Chapitre-1 Architecture des Ordinateurs & Codage binaire
i- Méthode du signe et valeur absolue

On considère que le bit du poids fort code le signe du nombre : 0 pour un entier positif
et 1 pour un entier négatif. Les autres bits codent le nombre en valeur absolue. Il faut
préciser dans ce cas le nombre de bit sur lequel on veut coder le nombre.

Exemple :
Soit le codage sur 4 bits suivant :
(0 111)2 = 7
(1 111)2 = -7

Puisque le premier bit est réservé pour le signe, sur n bit on peut coder de :
- 0 à 2n-1-1 pour les nombres positifs
- -0 à -(2n-1-1) pour les nombre négatifs
Donc sur n bits on peut coder des nombres qui appartiennent à [-(2n-1-1), 2n-1-1].
L’inconvénient de cette méthode c’est qu’on code deux fois le nombre 0 (un code pour +0 et
un autre pour -0).

ii- Méthode du signe et complément

Le codage en complément a été introduit pour faciliter les opérations d’addition/soustraction


des nombres signés.

Dans ce code le bit an-1 représente le signe. Dans une base b ce bit prend les valeurs:

 an-1 = 0 si N > 0
 an-1 = b-1 si N < 0

Les bits an-2 an-1…… a0 représentent :

 la valeur du nombre dans la base b si le nombre N est positif


 la valeur codée en complément si le nombre N est négatif

Le complément des nombres est un codage particulier. Les deux codes en complément les
plus couramment utilisés sont le complément à b-1 et le complément à b.

Le complément à b-1

Le complément à b-1 d’un nombre N exprimé sur n chiffres (bits), est obtenu en soustrayant
le nombre N du radical R diminué d’une unité.

𝐶𝑜𝑚𝑝𝑏−1 ((𝑁)𝑏 ) = 𝑏 𝑛 − 1 − 𝑁

Exemple :

Comp9(5230)10 = 104 – 1 – (5230)10 = (4769)10

A.BENMAKHLOUF Page 17
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Comp1(1100)2 = 24 – 1 – (1100)2 = (16 – 1– 12)10 = (3)10 = (0011)2

Remarque : Dans le cas de la base 2 cela se traduit par une simple inversion de tous les
bits.

Le complément à b

Le complément à b d’un nombre N exprimé sur n chiffres (bits), est obtenu en soustrayant le
nombre N du radical R. On peut déduire le complément à b en ajoutant 1 au complément
à b-1

 𝐶𝑜𝑚𝑝𝑏 ((𝑁)𝑏 ) = 𝑏 𝑛 − 𝑁

Ou bien

 𝐶𝑜𝑚𝑝𝑏 ((𝑁)𝑏 ) = 𝐶𝑜𝑚𝑝𝑏−1 ((𝑁)𝑏 ) + 1

Exemple :

Comp10(5230)10 = 104 – (5230)10 = (4770)10

Comp2(1100)2 = 24 – (1100)2 = (16 – 12)10 = (4)10 = (0100)2

Ou bien

Comp2(1100)2 = Comp1(1100)2 + 1 = 0011 + 1 = (0100)2

iii- Codage binaire des entiers signés sur n bits : méthode complément à 1
Complémenter à un consiste à changer le 0 par 1 et 1 par 0.
- Pour les nombres positifs on procède comme dans le cas d’un entier non signé
- Pour les nombre négatifs on complémente à un son opposé positif.
- Dans les deux cas le bit du poids fort est réservé au signe.

Exemple :
Soit le codage sur un octet suivant :
(0 000 0111)2 = 7
Le complément à 1 est : (1 111 1000) = -7 et non pas 248

L’inconvénient de cette méthode est toujours le codage deux manières le 0 (0000 et 1111).

iv- Codage binaire des entiers signés sur n bits : méthode complément à 2

Cette méthode consiste à ajouter 1 au complément à 1.


- Pour les nombres positifs on procède comme dans le cas d’un entier non signé
- Pour les nombre négatifs on ajoute 1 au complément à un de son opposé positif.
- Dans les deux cas le bit du poids fort est réservé au signe.

Exemple :

A.BENMAKHLOUF Page 18
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Soit le codage sur un octet suivant :
(0 000 0111)2 = 7
Le complément à 2 est : (1 111 1000) + 1 = (1 111 1001) = -7 et non pas 249.

Cette méthode est la plus utilisée pour coder les entiers signés. En effet, le problème du
codage du nombre 0 n’existe plus grâce l’addition de 1 qui décale l’intervalle de codage des
négatifs : (0000)2 = comp2(0000) = (1111)2 = (0)10.
De plus le complément à deux des entiers négatifs facilite les additions et les soustractions des
entiers signés.

Avec cette méthode, sur n bits on peut coder un nombre 𝑁 ∈ [−2𝑛−1 , 2𝑛−1 − 1].

Propriétés :

Comp2(N) + N = 0
Comp2(Comp2(N)) = N

Remarque :

 La méthode du complément à deux est utilisable dans n’importe quelle base avec les
mêmes propriétés.
 Le complément à 1 d’un nombre N en base B est donnée en remplaçant chaque chiffre
ai de N par le chiffre de valeur B – 1 – ai
 Le complément à 2 est égale au complément à 1 plus 1 (comp2= comp1 + 1)

Exemple :

Dans la base 8 ; comp2(235) = 542 + 1 = 543.

v- Correspondance entre le codage les nombres signés en Comp2 et les nombres non
signé.

Sur n bits on peut coder avec la méthode du Comp2 les nombres signés : 𝑁 ∈
[−2𝑛−1 , 2𝑛−1 − 1]

o Les nombres signés positifs [0, 2𝑛−1 − 1] sont représentés par les nombres non
signés [0, 2𝑛−1 − 1]
o Les nombres signés négatifs[−2𝑛−1 , − 1] sont représentés par les nombres non
signés [2𝑛−1 , 2𝑛 − 1]

[0, 2𝑛−1 − 1]  [0, 2𝑛−1 − 1]


[−2𝑛−1 , − 1]  [2𝑛−1 , 2𝑛 − 1]

Exemple : sur 4 bits

A.BENMAKHLOUF Page 19
Chapitre-1 Architecture des Ordinateurs & Codage binaire

2-4 Codification des nombres réels (Normalisation IEEE)

Le codage en complément à deux sur n bits ne permet de représenter qu'un intervalle de 2 n


valeurs. Pour un grand nombre d'applications, cet intervalle de valeurs est trop restreint. La
représentation à virgule flottante (floating-point) a été introduite pour répondre à ce besoin.
Exemple :
Pour des mots de 32 bits:
- La représentation en complément à deux permet de coder un intervalle de 232 valeurs
- La représentation à virgule flottante permet de coder un intervalle d'environ 2255
valeurs. Cette représentation a été normalisée par IEEE (L’Institute of Electrical and
Electronics Engineers)

Le codage IEE a la forme suivante :

- Le signe s est représenté sur le bit de poids fort, ‘+’ est représenté par 0 et ‘-‘ par 1.
- L’exposant e est codé sur les 8 bits (11 bits). On code en binaire la valeur n + 127
(n+1023).
- La fraction f est codée sur les 23 bits (52 bits) de poids faibles.

Afin de pouvoir représenter des exposants négatifs, l'exposant est codé en excès à 127 (1023):
les huit bits codent en binaire l'entier e = E + 127.

31 30 23 22 0
s = signe e = exposant f = Partie fractionnaire

Remarque :
1- Les exposants 00000000 et 11111111 sont interdits :
a. l’exposant 00000000 signifie que le nombre est dénormalisé ;
b. l’exposant 11111111 indique que l’on n’a pas affaire à un nombre (on note
cette configuration NaN, Not a Number, et on l’utilise pour signaler des erreurs
de calculs, comme par exemple une division par 0).
2- Les plus petits exposant est donc -126, et le plus grand +127.

Exemple :

A.BENMAKHLOUF Page 20
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Dans le cas de r = -123, 5 = -1,1110111.26, le signe est négatif : s = 1 ; la partie fractionnaire
de la mantisse est 1110111 et donc m vaut 111 0111 0000 0000 0000 0000 ; enfin,
e=6+127=133 = (1000 0101)2. Le codage de r est donc :

1 1000 0101 111 0111 0000 0000 0000 0000

C’est-à-dire en regroupant par paquets de 4

1100 0010 1111 0111 0000 0000 0000 0000

et donc, en hexadécimal :

C 2 F 7 0 0 0 0

2-5 Représentation des caractères

Les caractères sont des données non numériques : il n'y a pas de sens à additionner ou
multiplier deux caractères. Par contre, il est souvent utile de comparer deux caractères, par
exemple pour les trier dans l'ordre alphabétique.

Les caractères, appelés symboles alphanumériques, incluent les lettres majuscules et


minuscules, les symboles de ponctuation (&~ , . ; # " - etc...), et les chiffres.

Un texte, ou chaîne de caractères, sera représenté comme une suite de caractères.

Le codage des caractères est fait par une table de correspondance indiquant la configuration
binaire représentant chaque caractère. Les deux codes les plus connus sont l'EBCDIC (en voie
de disparition) et le code ASCII (American Standard Code for Information Interchange).

Le code ASCII représente chaque caractère sur 7 bits (on parle parfois de code ASCII étendu,
utilisant 8 bits pour coder des caractères supplémentaires).

Notons que le code ASCII original, défini pour les besoins de l'informatique en langue
anglaise) ne permet la représentation des caractères accentués (é, è, à, ù, ...), et encore moins
des caractères chinois ou arabes. Pour ces langues, d'autres codages existent, utilisant 16 bits
par caractères.

La table page donne le code ASCII. A chaque caractère est associée une configuration de 8
chiffres binaires (1 octet), le chiffre de poids fort (le plus à gauche) étant toujours égal à zéro.
La table indique aussi les valeurs en base 10 (décimal) et 16 (hexadécimal) du nombre
correspondant.
Plusieurs points importants à propos du code ASCII :

 Les codes compris entre 0 et 31 ne représentent pas des caractères, ils ne sont pas
affichables. Ces codes, souvent nommés caractères de contrôles sont utilisés pour
indiquer des actions comme passer à la ligne (CR, LF), émettre un bip sonore (BEL),
etc.

A.BENMAKHLOUF Page 21
Chapitre-1 Architecture des Ordinateurs & Codage binaire
 Les lettres se suivent dans l'ordre alphabétique (codes 65 à 90 pour les majuscules, 97
à 122 pour les minuscules), ce qui simplifie les comparaisons.
 On passe des majuscules aux minuscules en modifiant le 5ième bit, ce qui revient à
ajouter 32 au code ASCII décimal.
 Les chiffres sont rangés dans l'ordre croissant (codes 48 à 57), et les 4 bits de poids
faibles définissent la valeur en binaire du chiffre

Décimal Hexa Binaire Caractère Décimal Hexa Binaire Caractère


0 0 00000000 NUL 32 20 00100000 ESPACE
1 1 00000001 33 21 00100001 !
2 2 00000010 STX 34 22 00100010 "
3 3 00000011 ETX 35 23 00100011 #
4 4 00000100 EOT 36 24 00100100 $
5 5 00000101 37 25 00100101 %
6 6 00000110 ACK 38 26 00100110 &
7 7 00000111 BEL 39 27 00100111 '
8 8 00001000 40 28 00101000 (
9 9 00001001 41 29 00101001 )
10 A 00001010 LF 42 2A 00101010 *
11 B 00001011 43 2B 00101011 +
12 C 00001100 44 2C 00101100 ,
13 D 00001101 CR 45 2D 00101101 -
14 E 00001110 46 2E 00101110 .
15 F 00001111 47 2F 00101111 /
16 10 00010000 48 30 00110000 0
17 11 00010001 49 31 00110001 1
18 12 00010010 50 32 00110010 2
19 13 00010011 51 33 00110011 3
20 14 00010100 NAK 52 34 00110100 4
21 15 00010101 53 35 00110101 5
22 16 00010110 54 36 00110110 6
23 17 00010111 55 37 00110111 7
24 18 00011000 56 38 00111000 8
25 19 00011001 57 39 00111001 9
26 1A 00011010 58 3A 00111010 :
27 1B 00011011 59 3B 00111011 ;
28 1C 00011100 60 3C 00111100 <
29 1D 00011101 61 3D 00111101 =
30 1E 00011110 62 3E 00111110 >
31 1F 00011111 63 3F 00111111 ?

Décimal Hexa Binaire Caractère Décimal Hexa Binaire Caractère

A.BENMAKHLOUF Page 22
Chapitre-1 Architecture des Ordinateurs & Codage binaire

64 40 01000000 @ 96 60 01100000 `
65 41 01000001 A 97 61 01100001 a
66 42 01000010 B 98 62 01100010 b
67 43 01000011 C 99 63 01100011 c
68 44 01000100 D 100 64 01100100 d
69 45 01000101 E 101 65 01100101 e
70 46 01000110 F 102 66 01100110 f
71 47 01000111 G 103 67 01100111 g
72 48 01001000 H 104 68 01101000 h
73 49 01001001 I 105 69 01101001 i
74 4A 01001010 J 106 6A 01101010 j
75 4B 01001011 K 107 6B 01101011 k
76 4C 01001100 L 108 6C 01101100 l
77 4D 01001101 M 109 6D 01101101 m
78 4E 01001110 N 110 6E 01101110 n
79 4F 01001111 O 111 6F 01101111 o
80 50 01010000 P 112 70 01110000 p
81 51 01010001 Q 113 71 01110001 q
82 52 01010010 R 114 72 01110010 r
83 53 01010011 S 115 73 01110011 s
84 54 01010100 T 116 74 01110100 t
85 55 01010101 U 117 75 01110101 u
86 56 01010110 V 118 76 01110110 v
87 57 01010111 W 119 77 01110111 w
88 58 01011000 X 120 78 01111000 x
89 59 01011001 Y 121 79 01111001 y
90 5A 01011010 Z 122 7A 01111010 z
91 5B 01011011 [ 123 7B 01111011
92 5C 01011100 \ 124 7C 01111100 |
93 5D 01011101 ] 125 7D 01111101
94 5E 01011110 ^ 126 7E 01111110 ~
95 5F 01011111 _ 127 7F 01111111

2-6 Opération sur les systèmes binaires

Les opérations arithmétiques (addition, soustraction, multiplication, division) sont réalisées


dans n’importe qu’elle base B avec les même règle que dans la base décimale.

a- Addition et problème de débordement

Quand on additionne 2 chiffres a et b dans une base B, si la solution dépasse B alors il y a une
retenue.

A.BENMAKHLOUF Page 23
Chapitre-1 Architecture des Ordinateurs & Codage binaire

Principe de l’addition binaire :

0+0=0
0+1=1
1 + 1 = 10 soit 0 avec une retenue de 1

Exemple1 : 10 + 1011

1
0010 2
+ +
1011 11
--------------- -----------
= 1101 = 13

Exemple2 : 1101 + 1010

1101 13
+ +
1010 10
--------------- -----------
= 10111 = 23

Dans l’exemple-2 une addition de deux nombres de 4bits donne un nombre de 5bits (sur 4 bits
on ne peut coder que les nombres entre [0, 15]). Il y a donc un problème de débordement
(overflow).

- Débordement dans le cas des entiers non signés (bits naturel)

On dit qu’il y a un débordement lorsque le résultat de l'opération n'est pas représentable dans
le système utilisé (i.e., avec le nombre de chiffres utilisé).

Exemple1 : addition sur 8bits de deux nombres non signés (179 + 133 =312).

179
+
133
=
312

Dans le cas d'une addition de deux nombres en codage binaire naturel, le débordement
correspond à une retenue sortante à 1 (cas de 179 + 133 sur 8 bits)

A.BENMAKHLOUF Page 24
Chapitre-1 Architecture des Ordinateurs & Codage binaire
- Débordement dans le cas des entiers signés (opération avec complément à 2)

On dit qu’il y a un débordement lorsque : les opérandes a et b sont de même signe, et le


résultat est de signe différent.

Exemple2 : addition sur 8bits de deux nombres signés.

115
+
69
=
-72 sur 8 bits (calcul faux)
=
184 sur 9 bits (calcul juste)

La somme deux valeurs positives donne une valeur négative. Il y a donc un débordement.
Pour avoir le résultat juste il faut faire le codage sur 9bits.

Autres exemples :

 Cas de non débordement

 Cas de débordement

b- Gestion de débordement

La Gestion des débordements dans le cas d’une addition signé est différente que dans
l'addition non signée :
 Une retenue sur un bit supplémentaire par rapport à la précision ne veut pas forcément
dire que le résultat n'est pas stockable avec la précision utilisée
 En compare la retenue entrante dans le bit de poids fort (bit de signe) avec la retenue
sortante:
o Si les retenues identiques (00 ou 11) : pas de débordement
o Si retenues différentes (01 ou 10) : débordement

A.BENMAKHLOUF Page 25
Chapitre-1 Architecture des Ordinateurs & Codage binaire
 S'il n'y a pas de débordement, le résultat tient dans la précision requise, On néglige
systématiquement la retenue sur le bit supplémentaire pour déterminer le résultat final
la retenue n'a aucune signification.
c- Soustraction binaire

Pour la soustraction on peut la faire suivant deux méthodes :

- On utilisant les mêmes règles que dans la décimal. Quand la quantité à soustraire est
supérieure à la quantité dont on soustrait, on emprunte 1 au voisin de gauche.

Exemple : 1101 – 1011

1101 = 13
-
1011 = 11
-------------------
= 0010 =2

- On utilisant le complément à deux et ne faire que des additions

Même exemple : 1101 – 1011 = 1101 + comp2(1011) = 1101 + 0101

1101
1101 1101
- +
1011 0101
------------------- ----------------------
= 0010 = 1 0010 il y a pas de débordement. Il faut négliger
la retenue il n’a aucune signification

d- Multiplication binaire

On applique les mêmes règles que dans la base décimale.

Exemple : 101 × 110 :

101 = 5
× ×
110 = 6
------------
000
101.
101 ..
----------------------
11110 = 30

On a :
 Un décalage d’un bit vers la gauche si on multiplie par 2
 Un décalage d’un bit vers la droite si on divise par 2

A.BENMAKHLOUF Page 26

Vous aimerez peut-être aussi