# Stockage des Informations Numériques : Bits, Octets et Représentations
## Introduction
Dans ce chapitre nous verrons comment les informations sont *stockées* et *représentées* au niveau le plus bas de nos machines.
Ce chapitre explore les unités de base du stockage : le **bit** et l'**octet**.
---
## 1. Le Bit : L'Unité Fondamentale de l'Information
Au cœur de toute information numérique se trouve le **bit**. C'est l'unité d'information la plus petite et la plus élémentaire qu'un ordinateur peut traiter.
> [!definition] Bit
> Un **bit** (contraction de *binary digit*, "chiffre binaire") est une unité d'information qui ne peut prendre que deux états possibles : **0** ou **1**.
>
> Ces deux états sont souvent associés à des concepts logiques comme "faux/vrai", "ouvert/fermé", "bas/haut", ou à des états physiques comme "tension basse/tension haute", "magnétisé/démagnétisé", "lumière éteinte/lumière allumée".
Chaque bit représente un choix binaire, et c'est en combinant un grand nombre de ces bits que l'on peut représenter des informations complexes.
> [!note] Représentation Physique
> Dans un circuit électronique, un bit est généralement représenté par un niveau de tension électrique. Par exemple, 0V pour un '0' et 5V (ou 3.3V, 1.8V selon la technologie) pour un '1'. Sur un disque dur, il peut s'agir de l'orientation d'un champ magnétique. Dans la fibre optique, c'est la présence ou l'absence de lumière.
---
## 2. L'Octet : Le Bloc de Construction Essentiel
Si le bit est l'atome de l'information, l'**octet** en est la molécule de base. C'est l'unité de stockage et de traitement la plus couramment utilisée en informatique.
> [!definition] Octet (Byte)
> Un **octet** (en anglais : *byte*) est un regroupement de **8 bits**. C'est l'unité de données adressable la plus petite dans la plupart des architectures informatiques modernes.
Pourquoi 8 bits ? Historiquement, cette taille est devenue un standard pour plusieurs raisons, notamment la capacité à représenter un caractère alphanumérique dans le code ASCII (qui utilisait 7 bits, puis 8 bits pour l'extension).
### 2.1. Capacité de Représentation d'un Octet
Avec 8 bits, un octet peut représenter $2^8$ états différents.
$ 2^8 = 256 $
Ces 256 états peuvent être interprétés de diverses manières, selon le contexte :
> [!example] Valeurs d'un Octet
> * **Nombres non signés** : Un octet peut représenter n'importe quel nombre entier de 0 à 255.
> * `00000000` représente 0
> * `00000001` représente 1
> * ...
> * `11111111` représente 255
> * **Nombres signés** : Si on veut représenter des nombres positifs et négatifs, un bit est généralement utilisé pour le signe. Avec la représentation en complément à deux (que nous verrons plus en détail dans un chapitre futur), un octet peut représenter des nombres de -128 à +127.
> * **Caractères** : Un octet peut représenter un caractère unique (lettre, chiffre, symbole) selon une table d'encodage comme ASCII ou les premières pages de code d'Unicode.
> * **Couleurs** : Un octet peut définir l'intensité d'une composante de couleur (rouge, vert ou bleu) dans un modèle RVB (RGB), allant de 0 (absence) à 255 (intensité maximale).
### 2.2. Multiples de l'Octet
Pour exprimer des quantités de données plus importantes, on utilise des multiples de l'octet. Il est crucial de faire la distinction entre les préfixes du Système International (SI, décimaux) et les préfixes binaires utilisés en informatique.
| Symbole SI | Préfixe SI (décimal) | Valeur (base 10) | Symbole Binaire | Préfixe Binaire (IEC) | Valeur (base 2) |
| :--------- | :------------------- | :---------------- | :-------------- | :-------------------- | :-------------- |
| Ko | Kilo-octet | $10^3$ octets | KiB | Kibi-octet | $2^{10}$ octets |
| Mo | Méga-octet | $10^6$ octets | MiB | Mebi-octet | $2^{20}$ octets |
| Go | Giga-octet | $10^9$ octets | GiB | Gibi-octet | $2^{30}$ octets |
| To | Téra-octet | $10^{12}$ octets | TiB | Tebi-octet | $2^{40}$ octets |
> [!warning] Confusion Ko/KiB
> Dans le langage courant et marketing, "Kilo-octet" (Ko) est souvent utilisé pour désigner $2^{10}$ octets (1024 octets), alors que selon les normes SI, un kilo est $10^3$ (1000). Cela peut entraîner des confusions.
>
> * Les fabricants de disques durs utilisent souvent les préfixes SI ($1 \text{ To} = 10^{12}$ octets).
> * Les systèmes d'exploitation (Windows, macOS) affichent souvent les tailles de fichiers en utilisant implicitement les préfixes binaires ($1 \text{ GiB} = 2^{30}$ octets) mais en les notant "Go".
>
> Pour être rigoureux en informatique, il est préférable d'utiliser les préfixes binaires (KiB, MiB, GiB) si l'on parle de puissances de 2.
## 🗓️ Historique
> **Dernière mise à jour :** `01 novembre 2025`
> **Rédigé par :** [[Julien DUQUENNOY]]