Académique Documents
Professionnel Documents
Culture Documents
INTRODUCTION
Dans ce chapitre, nous voyons comment les nombres sont représentés dans les ordinateurs avec des 0 et des 1.
Nous introduisons la notion de base, en partant de la notation décimale que nous utilisons ordinairement pour
écrire les nombres entiers. Nous passons par la base cinq puis décrivons la base deux, aussi appelée
représentation binaire. Nous généralisons ensuite aux nombres relatifs en utilisant la notation en complément à
deux, puis aux nombres à virgule, représentés par leur signe, leur mantisse et leur exposant.
Vus de l’extérieur, les ordinateurs et les programmes que nous utilisons tous les jours permettent de mémoriser,
de transmettre et de transformer des nombres, des textes, des images, des sons, etc. Pourtant, quand on les
observe à une plus petite échelle, ces ordinateurs ne manipulent que des objets beaucoup plus simples : des 0 et
des 1. Mémoriser, transmettre et transformer des nombres, des textes, des images ou des sons demande donc
d’abord de les représenter comme des suites de 0 et de 1.
La mémoire des ordinateurs est constituée d’une multitude de petits circuits électroniques qui ne peuvent être,
chacun, que dans deux états. Comme il fallait donner un nom à ces états, on a décidé de les appeler 0 et 1, mais
on aurait pu tout aussi bien les appeler A et B, froid et chaud ou faux et vrai. Une telle valeur, 0 ou 1, s’appelle
un booléen, un chiffre binaire ou encore un bit (binary digit). Un tel circuit à deux états s’appelle un circuit
mémoire un bit et se décrit donc par le symbole 0 ou par le symbole 1. L’état d’un circuit, composé de plusieurs
de ces circuits mémoire un bit, se décrit par une suite finie de 0 et de 1, que l’on appelle un mot. Par exemple, le
mot 100 décrit l’état d’un circuit composé de trois circuits mémoire un bit, respectivement dans l’état 1, 0 et 0.
Le système décimal
Pour que vous compreniez le fonctionnement du binaire, et des systèmes de comptage
en général (plus communément appelés bases), je vais commencer par faire une petite
réintroduction à la base 10 que vous connaissez tous.
En effet, tout le monde sait compter en base 10 (décimal). Mais comment ça marche ?
Comment est construit notre système ? Pour répondre à cette question à l'apparence
simple, oubliez tout et reprenons depuis le début : comment avez-vous appris à
compter à l'école ?
Vous penserez peut-être que la base 10 vient du fait qu'on a 10 doigts, mais en tout cas
deux choses sont sûres :
Il y a 10 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Avec ces derniers, on peut compter jusqu'à 9.
Cela signifie que si le rang des unités est plein, il faut passer à celui des dizaines, puis
des centaines, milliers et j'en passe.
Par exemple : à 19, le rang des unités est "saturé" (plein), car il contient le chiffre 9, et
il n'y a pas (dans la base 10) de valeur plus élevée. Il faut donc incrémenter le rang
périphérique puis réinitialiser l'état de celui des unités. Ce qui signifie : j'ai 19, je ne
peux pas mettre plus de 9 à droite, donc j'ajoute 1 à celui de gauche et je remets à zéro
celui de droite.
Comme je disais tout à l'heure, le nombre entier va être composé de rangs (unités,
dizaines, centaines, etc). Chaque rang vaut le rang précédent multiplié par l'indice de la
base. Une centaine vaut dix dizaines, et une dizaine vaut 10 unités. Par exemple, dans
l'image ci-dessus, on peut voir le nombre 185 10 (ici, le 10 signifie qu'il s'agit d'un nombre,
en base 10). Dans ce nombre, on peut voir trois rangs : centaines, dizaines et unités.
Pour n'importe quelle base, la valeur d'un rang est égale à b n, où b est l'indice de la base
(ici, 10) et n la position du rang. Ici, les unités ont la position 0, les dizaines la position 1
et les centaines la position 2.
Crs élève Entier relatif en binaire Page 2 sur 6
Nous pouvons donc écrire : 185=1∗102+8∗101+5∗100185=1∗102+8∗101+5∗100
Ce que je viens de faire, c'est décomposer 185 en puissance de 10 (unités, dizaines,
centaines, etc).
Un nombre est égal à la somme des valeurs de ses rangs, et on peut décomposer
n'importe quel nombre en puissance de sa base.
Le binaire
Le binaire, c'est le système de comptage des ordinateurs. Pourquoi le binaire et pas le
décimal comme les humains ? Et bien c'est très simple : un ordinateur est composé de
circuits électroniques, et donc de composants électriques. Le plus simple pour compter
est donc d'utiliser un système en base 2 (le binaire) car on peut représenter ses deux
valeurs possibles (0 et 1) par un signal électrique : 1, y'a du courant, 0, y'en a pas
(c'est la version simple).
Je vous ai parlé ci-dessus de rangs. En binaire, c'est pareil à la différence qu'on utilise
le terme bit, qui est la contraction de "binary digit", littéralement "chiffre binaire". Par
exemple, le nombre 10011 occupe 5 bits. Là où tout se complique, c'est que comme je l'ai
expliqué, chaque rang en binaire ne peut avoir que deux valeurs (binaire = base 2)
différentes : 0 ou 1. Pour la base 10, chaque rang représente une puissance de 10, pour
la base 2, chaque rang occupe une puissance de 2. Voici comment compter en binaire
jusqu'à 10 :
Nombre en Nombre en
Le pourquoi du comment
décimal binaire
Pré requis :
Addition binaire
Division euclidienne
La base 2 ou base binaire très utilisée en A.I.I (Automatique et Informatique Industrielle) est la base de
la logique booléenne ou algèbre de Boole.
La base 10 (base décimale). Elle est considérée comme la base universelle. De ce fait nous l’utilisons
presque tout le temps.
La base 16 (base hexadécimale). Cette base est très utilisée dans le monde de la micro-informatique et
des automates. Elle permet de coder un mot (16 bits) sur 4 variables hexadécimales. Elle base fait
intervenir tous les chiffres de la base 10 complétée par les 6 premières lettres de l’alphabet.
Exemple :
Exercice I.1 : trouver la représentation en base 10 du nombre 10011101 donné en base 2. 157
Exercice I.2 : C’est en 11110010000 qu’a été démontré le théorème fondamental de l’informatique. Exprimer
ce nombre en base dix.
1936
b) Système base 10
Crs élève Entier relatif en binaire Page 4 sur 6
Il est formé par 10 Symboles 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9
c) Système base 16
Il est formé par 16 symboles 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E et F (A pour 10, B pour 11 ….)
Exercice I.3 : Trouver la représentation en base dix du nombre 4E2C (en base seize).
20012
Exercice I.4 : Trouver la représentation en base dix des nombres ABCD (en base seize) et281EF (en base
seize).
43 981 ; 164 335
Sur un octet (8 bits), on peut représenter les nombres entiers naturels allant de 0 à 255.
Sur deux octets (16 bits), on peut représenter les nombres entiers naturels allant de 0 à 65535.
Sur quatre octets (32 bits), on peut représenter les nombres entiers allant de 0 à 4 294 967 296.
Sur huit octets (64 bits) on peut représenter tous les nombres entiers naturels allant de 0 à 1,8*1019.
2019 2
1 1009 2
1 504 2
Crs élève Entier relatif en binaire Page 5 sur 6
0 252 2
0 126 2
0 63 2
1 31 2
1 15 2
1 7 2
1 3 2
1 1 2
1 0
2019 = 11111100011
2023 = 11111100111
La puissance de 2 immédiatement en dessous de 173 est 27 soit 128. on écrit 1 en dessous de 128 et il reste 45
La puissance de 2 immédiatement en dessous de 45 est 32 Soit 25 on écrit 1 en dessous de 32 et il reste 13.
173=¿ 27+25+23+22+20
Exercice II.3 : Traduire en binaire l’année de construction des premiers ordinateurs (1948).
Valeur décimale à décomposer : 1948
10 9 8 7 6 5 4 3 2 1 0
2 2 2 2 2 2 2 2 2 2 2
1024 512 256 128 64 32 16 8 4 2 1
1 1 1 1 0 0 1 1 1 0 0
Sur un octet nous pouvons coder les nombres entiers relatifs compris entre -27 et 27-1 soit -128 et 127.
A/ Intuitivement
Dans la représentation en binaire signé, le bit de poids fort sert à représenter le signe (0 pour un entier positif et
1 pour un entier négatif), les 7 autres bits représentent la valeur absolue du nombre en binaire pur.
Utilisons + 12 et – 12
Valeur décimale à décomposer : 12
7 6 5 4 3 2 1 0
2 2 2 2 2 2 2 2
128 64 32 16 8 4 2 1
0 0 0 0 1 1 0 0
Bit Bit
poids poids
fort faible
Calcul :
+12 00001100
−12 +100011001
0 ≠ 10011000
Pour ces raisons la méthode du bit de signe seul n'est (presque) plus utilisée. Une méthode un peu plus
efficiente consiste, pour coder -n, à prendre le complément à un du codage de n, c'est à dire de remplacer
chaque 0 par un 1 et inversement. Si l'on prend toujours l'exemple du codage sur un octet, on aura toujours un
nombre entre -127 et +127 et toujours deux représentations du zéro, mais l'addition est maintenant plus facile à
calculer. On peut démontrer, en effet, que si l'on ajoute un nombre a et le complément à un d'un nombre b, on
trouve a-b-1 (aux problèmes de dépassement près). Pour cette raison, la méthode (quasi) universellement
choisie aujourd'hui pour représenter les entiers relatifs (positifs et négatifs) est celle du complément à deux : on
représente un nombre négatif en prenant son complément à un, puis en ajoutant un à l'écriture binaire obtenue.
Dans le cas d'un codage sur un octet, on peut ainsi représenter les nombre entiers de -128 à +127.
B/ Complément à 1
On remplace chaque 0 par un 1 et inversement.
Calcul :
+12 00001100
−12 + 11110011
0 ≠ 11111111
C/ Complément à 2
On prend son complément à un, puis on ajoute un à l'écriture binaire obtenue.
Calcul :
+12 00001100
11110011 Complément à 1
+1
−12 11110100 Complément à 2
0 100000000
Comme nous sommes sur 8 bits, le « 1 » qui est devant disparait et il n’y a plus qu’une écriture de 0.
Donc – 12 s’écrit 11110100.
Exercice III.2 : en utilisant la méthode du complément à 2, donner l’écriture binaire du nombre −108.
01101100 donne le complément 10010011. En ajoutant 1 à celui-ci on a 101101100. En additionnant les 3
valeurs on a 111100110.
D/ Autre méthode
On veut coder −12 sur 8 bits, la plage des nombres est de −27 à 27−1 soit de −128 à 127 .
Voici la « frise binaire »
On constate que −12 revient 256 « crans » plus loin donc −12 correspond à −12+256 soit 244.
Exercice III.4 : à l’aide de la méthode de votre choix et en adaptant le nombre de bits, coder −2019 .
Ou
Valeur décimale à décomposer : 63517
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1
1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 1
Sources :
http://ressources.unisciel.fr/algoprog/s00aaroot/aa00module1/res/%5BDowek-
ISN2014%5DInformatique_et_Sciences_du_Numerique.pdf
https://delmas-rigoutsos.nom.fr/documents/YDelmas-ordinateurs_et_systemes/code-negatifs.html