Système Binaire
Système Binaire
Système Binaire
C'est un concept essentiel de l'informatique. En effet, les processeurs des ordinateurs actuels
sont composés de transistors ne gérant chacun que deux états.
Un calcul informatique n'est donc qu'une suite d'opérations sur des paquets de 0 et de 1,
appelés octets lorsqu'ils sont regroupés par huit.
Sommaire
[masquer]
1 Définition
o 1.1 Énumération des premiers nombres
o 1.2 Opérations
2 Théorie informatique
o 2.1 Représentation des entiers négatifs
2.1.1 Complément à un
2.1.2 Complément à deux
o 2.2 Entre les bases 2, 8 et 16
2.2.1 Du binaire vers octal ou hexadécimal
2.2.2 Vers le binaire
o 2.3 Table des valeurs des groupements de chiffres binaires
3 Code de Gray ou binaire réfléchi
4 Décimal codé binaire (« binary coded decimal », ou BCD)
5 Applications
o 5.1 Théorie de l'information
o 5.2 Logique
o 5.3 Informatique
6 Histoire
7 Notes et références
8 Voir aussi
o 8.1 Bibliographie
o 8.2 Articles connexes
o 8.3 Liens externes
Dans ce type de codage, chaque nombre est représenté de façon unique par une suite ordonnée
de chiffres. Et chaque chiffre représente une puissance de la base. Si on se limite dans un
premier temps aux nombres entiers positifs, en base dix ces puissances sont : un (1), dix
(représenté par 10), cent (dix fois dix, représenté par 100), mille (dix fois cent, représenté par
1000), dix mille etc. En base deux, ces puissances sont : un (1), deux (représenté lui aussi par
10), quatre (deux fois deux, représenté par 100), huit (deux fois quatre, représenté par 1000),
seize (deux fois huit, représenté par 10000) etc.
On voit que la signification des représentations 10, 100, 1000, etc. dépend de la base utilisée :
10 est toujours égale à la base, c'est-à-dire dix en base dix, mais deux en base deux
En base dix, on a besoin de dix chiffres, de zéro à neuf ; en base n, on a besoin de n chiffres,
de zéro à n-1 ; et donc en base deux, on a besoin de deux chiffres : zéro et un.
Un nombre qui s'exprime en base B par les quatre chiffres 1101 s'analyse :
, qui donne :
Seules changent d'une part la forme de la suite de chiffres qui exprime le résultat (elle ne
compte que des zéros et un), d'autre part la signification de cette suite (10 signifie « deux » et
non « dix », 100 signifie « quatre » et non « cent », etc.).
On passe d'un nombre binaire au suivant en ajoutant 1, comme en décimal, sans oublier les
retenues et en utilisant la table ordinaire (mais réduite à sa plus simple expression) :
ainsi:
11
+ 1
____
100
Détail :
Pour compléter la représentation des entiers, il faut pouvoir écrire des entiers négatifs. La
façon informatique de le faire est prévoir un bit de signe, placé en tête. Un bit de signe nul
indique une valeur positive, un bit de signe positionné à 1 indique une valeur négative.
Dans ce système, la valeur 0 a deux représentations : « +0 » et « -0 » (dans notre exemple :
0000 et 1111), ce qui oblige à réaliser 2 tests pour tester la valeur nulle d'un résultat.
-7 1001
+9 1001
__ ____
2 (1) 0010 (on 'ignore' la retenue)
Avec n bits, ce système permet de représenter les nombres entre -2n-1 et 2n-1-1.
Les bases 8 (octale) et 16 (hexadécimale) sont des bases multiples de la base 2. Ces deux
bases ont été couramment employées en informatique et pour des raisons pratiques; ces bases
étant fortement liées à la base 2 et les nombres écrits dans ces bases étant plus
« manipulables » (car d'écriture plus courte) par l'intellect humain. L'écriture de nombres dans
ces bases est facilement obtenue par regroupement de chiffres de l'écriture du nombre en base
2.
Octal : base 8 avec . Il suffit de parcourir le nombre binaire de la droite vers la
gauche en regroupant les chiffres binaires 3 par 3 : chaque paquet de 3 (le dernier
devant être parfois complété par des 0 à gauche) est l'écriture binaire d'un chiffre en
base 8 (08=000, 18=001, 28=010, 38=011, 48=100, 58=101, 68=110, 78=111).
o 101011011102 va s'écrire 10 101 101 110 et en convertissant la valeur de
chacun des blocs en un chiffre octal, on obtient le nombre octal 25568.
On pourrait facilement étendre ce principe à toutes les bases qui sont puissances de 2.
Il suffit de convertir la valeur de chacun des chiffres sous leur forme binaire.
Table des valeurs des groupements de chiffres binaires [modifier | modifier le code]
Binair Binair
Décimal Octal Hexadécimal Décimal Octal Hexadécimal
e e
0000 0 0 0 1000 8 10 8
0001 1 1 1 1001 9 11 9
0010 2 2 2 1010 10 12 A
0011 3 3 3 1011 11 13 B
0100 4 4 4 1100 12 14 C
0101 5 5 5 1101 13 15 D
0110 6 6 6 1110 14 16 E
0111 7 7 7 1111 15 17 F
Ce codage permet de ne faire changer qu'un seul bit à la fois quand un nombre est incrémenté
ou décrémenté d'une unité.
Le code de Gray, également appelé binaire réfléchi, permet de ne faire changer qu'un seul bit
à la fois quand un nombre est incrémenté ou décrémenté d'une unité. Le nom du code vient de
l'ingénieur américain Frank Gray qui déposa un brevet sur ce code en 1947. Monsieur Louis
Gros publia, à Lyon, en 1872 un opuscule, Théorie du Baguenaudier, par un clerc de
notaire lyonnais où ce code était présenté pour la première fois en lien avec un casse-tête.
Monsieur Gros fut clerc de notaire puis Conseiller à la Cour d'Appel de Lyon.
Pour « calculer » directement le code de Gray d'un entier à partir de celui de son prédécesseur
on peut procéder ainsi :
Le code de Gray est utilisé entre autres sur une roue codeuse.
Afin de concilier la logique binaire de l'ordinateur avec la logique humaine, on peut convertir
en binaire, plutôt que les nombres eux-mêmes, chacun des chiffres qui les composent en
notation décimale positionnelle. Chacun de ces chiffres est alors codé 4 bits :
Avec n bits (n multiple de 4), il est possible de représenter les nombres entre 0 et 10n/4-1. Soit
approximativement entre 0 et 1.778n-1. Le BCD est un code redondant, en effet certaines
combinaisons ne sont pas utilisées (comme 1111 par exemple).
Cette représentation évite par construction tous les problèmes gênants de cumul d'arrondi qui
interviendraient lors de la manipulation de grands nombres dépassant la taille des circuits en
arithmétique entière et obligent à recourir au flottant. Il est cependant possible de manipuler
des nombres à précision arbitraire en utilisant un codage plus efficace que le BCD.
La logique classique est une logique bivalente: une proposition est soit vraie, soit fausse. Il est
donc possible de représenter la vérité d'une proposition par un chiffre binaire. On peut par
exemple modéliser les opérations de l'arithmétique binaire à l'aide de l'algèbre de Boole.
L'algèbre de Boole représente un cas très particulier d'usage des probabilités ne faisant
intervenir que les seules valeurs de vérité 0 et 1. Voir Théorème de Cox-Jaynes.