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

 

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.

 

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.

 

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. |

 

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 |

 

Document créé le 22/01/04 04:10, dernière modification le 31/10/17 12:42
Source du document imprimé : https://www.gaudry.be/binaire-octal-hexadecimal.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Notes

  1. a,b,c Most Significant Bit : correspond à « 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 : correspond à « bit de poids faible” en français

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

 

Références

  1. Consulter le document html Langue du document: fr Informations sur le demi-additionneur binaire, dans la partie consacrée à la logique. : lien interne, Demi-additionneur binaire

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.