Programme

NSI (Spé) — Représentation des données

Types et valeurs de base

Entiers, flottants, booléens : représentation binaire et limites

Résumé synthétiqueFiche en 4 sectionsQuiz de 10 questionsGratuit, sans pub

Résumé

Dans une machine, tout est binaire : des suites de 0 et de 1 appelés bits. Un entier naturel se convertit en base 2 par divisions successives par 2 ($13$ s'écrit 1101 en binaire). Pour coder les négatifs, on utilise le complément à deux, qui rend l'addition uniforme entre positifs et négatifs. Les flottants (nombres à virgule) suivent la norme IEEE 754 et ne sont que des approximations : en Python, $0{,}1 + 0{,}2$ ne donne pas exactement $0{,}3$. Les booléens ne valent que True ou False et fondent toute la logique avec ET, OU, NON. Retiens le réflexe central : sur $n$ bits on code $2^n$ valeurs distinctes, soit $0$ à $2^n - 1$ en non signé.

S'entraîner

Questions fréquentes

Les points clés à retenir sur Types et valeurs de base, extraits du quiz de révision.

Quelle est la valeur décimale du nombre binaire $1010_2$ ?
Réponse :
10
$1010_2 = 1\times8 + 0\times4 + 1\times2 + 0\times1 = 8 + 2 = 10$. On additionne les puissances de 2 des bits à 1.
Combien de valeurs différentes peut-on représenter sur 8 bits ?
Réponse :
256
Sur $n$ bits on code $2^n$ valeurs. Sur 8 bits : $2^8 = 256$ valeurs (de 0 à 255 en non signé).
En complément à deux sur 8 bits, quelle est la plage de valeurs représentables ?
Réponse :
-128 à 127
Sur 8 bits en complément à deux : de $-2^7 = -128$ à $2^7 - 1 = 127$. Il y a un négatif de plus que de positifs.
Pourquoi 0.1 + 0.2 ne donne pas exactement 0.3 en Python ?
Réponse :
Les flottants sont des approximations en binaire
Les flottants (IEEE 754) sont stockés en binaire et $0{,}1$ n'a pas de représentation binaire exacte : il en résulte une petite erreur d'arrondi.