Décimal, binaire, octal, hexadécimal ?

En système décimal (le système que nous utilisons quotidiennement), nous avons l'habitude de compter selon la séquence suivante : 1, 2, 3, etc.
Seulement, cette habitude naturelle nous fait perdre de vue que le système décimal débute par la valeur zéro.

En informatique, la première différence que nous constaterons, c'est que le zéro est la première valeur comptée. Dans le cas d'un compteur en décimal, nous obtiendrons les valeurs suivantes : 0, 1, 2, etc.

Système décimal

Base : 10 (0, 1, 2, 3, 4, 5, 6, 7, 8, et 9).

En utilisant un symbole, nous pouvons donc représenter 10 valeurs différentes (la plupart d'entre-nous possède 10 doigts...).

Le rang est la position à laquelle nous allons trouver le symbole.
Le symbole de poids le plus faible (dont la valeur sera la plus faible sur la valeur totale représentée) se place à droite.

Par exemple, dans le chiffre 123, le symbole le plus à droite est le 3, le symbole à sa gauche (donc d'un rang supérieur) est le 2, et le symbole le plus à gauche est le 1.

Les rangs se lisent de droite à gauche, et ils déterminent l'exposant auquel la base est soumise.

Reprenons notre exemple : 123

De manière naturelle, nous lisons cent vingt trois.

Exemple : Analysons la structure du nombre 123

1.102+ 2.101+ 3.100= 100 + 20 + 3 = 123

Contents Haut

Système binaire

Base : 2 (0 et 1)

Les opérations sont identiques en binaire et en décimal (à part le sens de lecture qui peut varier, cela sera expliqué ultérieurement).

En utilisant un symbole...

En décimal, nous étions en base 10, nous avions donc 10 valeurs représentées par un symbole : 0.100, 1.100, 2.100, 3.100, etc.
En binaire, nous sommes en base 2, nous ne pouvons donc représenter que deux valeurs ou états : 0.100, et 1.100.

En utilisant deux symboles...

En utilisant deux symboles, nous avons quatre combinaisons (deux symboles exposant deux états) : 00, 01, 10, et 11.

Plus de symboles...

En informatique, les données sont codées sous formes de bits. Un bit possède donc deux états (0 ou 1).
Pour faciliter les manipulations de ces informations, les bits sont souvent groupés par huit. Ce groupe de 8 bits se nomme un octet, ou un byte. Le nombre maximum de valeurs que peut représenter un octet est 256 ( 1111 1111 ), de 0 à 255.

Contents Haut

MSB - LSB ?

Pour décoder une valeur binaire, nous devons savoir dans quel sens lire les données.
En effet, le sens de lecture des rangs ne se fait pas toujours de la gauche vers la droite.

Dans le cas d'une transmission de données sur courtes distances, les bits seront envoyés en parallèle, sur un bus. Mais dans le cas ou les distances dépassent quelques dizaines de centimètres, les données seront transmises en série sur le porteur.

Le problème de l'ordre des rangs ne se pose pas lors d'une transmission en parallèle (chaque bit est envoyé sur son propre circuit). Mais dans le cas d'une transmission en série, le premier bit que l'on reçoit, est-ce celui de rang le plus faible, ou celui de rang le plus élevé ?
Pour remédier à ce problème, une distinction sera faite entre le MSB [“Most Significant Bit”1] : bit de rang le plus élevé, et le LSB [“Lower Significant Bit”3] : bit de rang le plus faible.

Conversions de binaire en décimal

Prenons un octet : 01111011

Le principe reste le même :

0.27+ 1.26+ 1.25+ 1.24+ 1.23+ 0.22+ 1.21+ 1.20
= 0 + 64 + 32 + 16 + 8 + 0 + 2 + 1
= 123

Conversions de décimal en binaire

La valeur maximum d'un octet est 256 (tous les bits à un).
Si nous devons coder la valeur 123 en décimal, nous allons donc passer en revue les valeurs attribuées à chaque bit, du MSB vers le LSB.

Le premier bit représente 128, il ne nous intéresse pas, nous lui attribuerons donc l'état 0.
Le second bit représente 64, nous l'activons donc en plaçant son état à 1. Il nous reste 123 - 64 = 59
Le troisième bit représente 32, nous l'activons à 1, il nous reste 59 - 32 = 27
Le quatrième bit représente 16, nous l'activons, il nous reste donc 27 - 16

Le procédé continue de la même manière jusqu'au dernier bit.

Système octal

Le système octal est un système qui utilise 8 éléments, numérotés de 0 à 7.
Le principe est le même en base 8 que pour la base 10, ou la base 2.

Contents Haut

Système hexadécimal

Le système hexadécimal se base sur 16 états pour un seul symbole.
Il est évident qu'un tel codage permet de transmettre plus d'informations en un seul signal.

Base : 16 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, et F).

Exemple : convertir la valeur hexadécimale 7E en décimal

7xE = 7.161+ 14.160= 112 + 14 = 126

Conversions de binaire en hexadécimal

Nous devons créer des groupes de 4 éléments binaires. La valeur de chaque groupe est codée en hexadécimal.

Remarques :

  1. lors de nombres qui ne sont pas des entiers, les groupes sont réalisés depuis le premier nombre d'unité (la virgule doit séparer deux groupes de 4 bits, elle ne peut en scinder un).
  2. lorsqu'il n'existe pas assez de bits pour former des groupes de 4, des bits 0 sont placés aux extrémités en respectant la première remarque.

Exemple : le nombre binaire 10011000111010101,101

1 | 0011 | 0001 | 1101 | 0101 | , | 101 | décomposition en groupes de 4 depuis la virgule. |
0001 | 0011 | 0001 | 1101 | 0101 | , | 1010 | des bits 0 permettent de compléter les groupes de 4 bits. |
1 | 3 | 1 | D | 5 | , | A | la valeur de chaque groupe est ensuite convertie en hexadécimal. |

Contents Haut

Tableau comparatif des différents codages

Décimal
base 10 |
Binaire
base 2 |
Octal
base 8 |
Hexadécimal
base 16 |
00 | 0000 | 00 | 0 |
01 | 0001 | 01 | 1 |
02 | 0010 | 02 | 2 |
03 | 0011 | 03 | 3 |
04 | 0100 | 04 | 4 |
05 | 0101 | 05 | 5 |
06 | 0110 | 06 | 6 |
07 | 0111 | 07 | 7 |
08 | 1000 | 10 | 8 |
09 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |

Contents Haut

English translation

You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.

If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.

Thank you in advance.

Document created the 22/01/2004, last modified the 31/10/2018
Source of the printed document:https://www.gaudry.be/en/binaire-octal-hexadecimal.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.

Notes

  1. a,b,c Most Significant Bit : corresponds to « bit de poids significatif » en français

  2. a,b MSB : “Most Significant Bit” (en français, « bit de poids significatif »)

  3. a,b,c Lower Significant Bit : corresponds to « bit de poids faible » en français

  4. a,b LSB : “Lower Significant Bit” (en français, « bit de poids faible »)

Contents Haut

References

  1. View the nbsp;document Language of the document:fr Demi-additionneur binaire : lien interne, Informations sur le demi-additionneur binaire, dans la partie consacrée à la logique.

These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.

Contents Haut