Données
Les technologies de l'information consistent à générer, transmettre, traiter et stocker des données. Selon IDC, environ 180 zettaoctets de données ont été produits dans le monde en 2025.
Pour être manipulées par des machines, les données doivent être codées sous forme binaire, quelle que soit leur nature.
Numération
Certains systèmes de numération sont particuliers, comparativement à celui que nous utilisons. Le système romain, par exemple, est additif et soustractif.
Décimal
Le fait que nous ayons dix doigts n’est probablement pas étranger au système décimal, c'est-à-dire à un système de numération à base 10 et positionnel. On nomme « chiffre » chacun des symboles de cette numération, généralement représentés par :
Les nombres s'écrivent à l'aide des chiffres :
Ce système est positionnel, puisque les chiffres représentent des valeurs différentes selon leur position :
Chaque position correspond à une puissance de dix, croissant de droite à gauche :
Dans un contexte informatique, le besoin étant de représenter des données de façon exploitable par une machine, un système de numération mieux adapté aux mathématiques et à l'électronique est nécessaire.
Binaire
La logique informatique repose sur le système binaire, un système de numération en base 2. Ses chiffres, appelés bits (binary digits), sont généralement représentés par :
On appelle octet un groupe de 8 bits, qui constitue l'unité de base d'adressage en informatique :
L'utilisation de ce système, plutôt que du système décimal, s'explique par la facilité de représenter des données et d'effectuer des opérations au moyen de circuits électriques : soit le courant passe (1), soit il ne passe pas (0).
Bien qu'il soit minimaliste, le système binaire fonctionne de façon identique au système décimal, mais avec 2 comme base :
La valeur est donc doublée à chaque nouvelle position à partir de la droite :
Si la valeur décimal s'obtient en faisant la somme des multiplications de chaque chiffre par la base à la puissance de sa position, l'inverse se fait en utilisant, à rebours, les restes de divisions entières successives par la base jusqu'à obtenir un quotient nul :
Hexadécimal
Le système de numération en base 16 est régulièrement utilisé en informatique afin d'exprimer de grandes valeurs de façon plus concise que le binaire, comme les adresses de la mémoire centrale :
La lettre « A » vaut 10, « B » 11, « C » 12, « D » 13, « E » 14, et « F » 15.
Conventions
Puisque les données sont sous forme binaire, elles n'ont pas de signification propre. Des conventions d'encodage viennent pallier ce problème.
Booléens
Les valeurs numériques peuvent être utilisées dans un contexte booléen : la valeur 0 permet de représenter faux et toutes les autres valeurs représentent vrai.
Opérateurs logiques
Les principales opérations de l'algèbre booléenne sont la négation, la conjonction et la disjonction :
| Priorité | Opération |
|---|---|
| 1 | Négation |
| 2 | Conjonction |
| 3 | Disjonction |
Les parenthèses permettent de modifier cet ordre.
Négation
Inverse la valeur :
| X | ¬X |
|---|---|
| Faux | Vrai |
| Vrai | Faux |
Conjonction
Vrai si, et seulement si, les deux valeurs sont vraies :
| X | Y | X ∧ Y |
|---|---|---|
| Faux | Faux | Faux |
| Faux | Vrai | Faux |
| Vrai | Faux | Faux |
| Vrai | Vrai | Vrai |
Disjonction
Vrai si au moins une des deux valeurs est vraie :
| X | Y | X ∨ Y |
|---|---|---|
| Faux | Faux | Faux |
| Faux | Vrai | Vrai |
| Vrai | Faux | Vrai |
| Vrai | Vrai | Vrai |
Court-circuit
L'évaluation se fait à court-circuit, c'est-à-dire que le second opérande n'est pas évalué si le premier suffit à conclure.
Lois de De Morgan
Ces lois permettent d'éviter une négation et améliorent la lisibilité des propositions :
- ¬X ∧ ¬Y ≡ ¬(X ∨ Y)
- ¬X ∨ ¬Y ≡ ¬(X ∧ Y)
Entiers
Puisque le matériel informatique ne prend en charge que des bits, il n’y a pas de symbole pour représenter le signe.
Le bit de poids fort d'un entier signé est utilisé afin d'indiquer si la valeur est positive ou négative. Mais cette façon de faire comporte des problématiques : il y a deux zéros (un positif et un négatif) et les résultats d'additions ne sont plus valides lorsque des valeurs négatives sont impliquées :
Complément à deux
Le complément à deux est utilisé pour pallier ces problèmes. Il consiste à inverser tous les bits, puis ajouter un :
Lorsque le bit le plus fort d'un entier signé est 1, c'est que la valeur est négative et encodée avec le complément à deux :
Réels
La représentation des nombres réels utilise une norme « IEEE », principalement la 754, qui découpe le nombre en trois segments :
Approximatif
Seul un sous-ensemble fini de valeurs peut être représenté exactement, les autres sont arrondies à la plus proche :
0.1 + 0.2 = 0.30000000000000004
Caractères
Chaque caractère est représenté par un nombre et une table permet d'établir la correspondance.
ASCII
Dans les années 1950, en raison des nombreuses technologies de communication émergentes, l'association américaine de normalisation, devenue l'ANSI, cherche à créer un jeu de caractères standard.
Le développement de la table ASCII débute en 1960. Elle est présentée en 1963 et révisée en 1967. Elle comporte 128 caractères sur 7 bits :
| Valeur | Caractère | Valeur | Caractère | Valeur | Caractère | Valeur | Caractère |
|---|---|---|---|---|---|---|---|
| 0 | NUL | 32 | ' ' | 64 | '@' | 96 | '`' |
| 1 | SOH | 33 | '!' | 65 | 'A' | 97 | 'a' |
| ... | ... | ... | ... | ... | ... | ... | ... |
Extension
L'octet étant l'unité de base en informatique, un bit restait inutilisé, ce qui permit la prolifération d'autres tables de 256 caractères comme la page 437 d'IBM :
| Valeur | Caractère | Valeur | Caractère | Valeur | Caractère | Valeur | Caractère |
|---|---|---|---|---|---|---|---|
| 128 | 'Ç' | 160 | 'á' | 192 | '└' | 224 | 'α' |
| 129 | 'ü' | 161 | 'í' | 193 | '┴' | 225 | 'ß' |
| ... | ... | ... | ... | ... | ... | ... | ... |
Tableaux
Un tableau est une suite de données de même type, consécutives en mémoire.
Indexation
L'indexation permet d'atteindre la donnée désirée grâce à un calcul d'adresse de la mémoire :

Chaîne de caractères
Une chaîne de caractères est une suite de caractères contigus en mémoire. Selon le langage, elle peut se terminer par un marqueur comme le caractère nul ('\0'), ou encore débuter par sa longueur :