
ULUMINE · Numérique et sciences informatiques (NSI) · Première
Les nombres flottants et l’encodage du texte
Les flottants sont des approximations des réels ; les caractères sont codés par des numéros (ASCII, Unicode) transformés en octets (UTF-8).
Nombres à virgule
- Poids après la virgule : 0,5 ; 0,25 ; 0,125 ; 0,0625…
- Décimal → binaire : multiplier la partie fractionnaire par 2 et noter la partie entière.
- 0,1 a une écriture binaire infinie : il est stocké de façon approchée.
Flottants
- Forme signe × mantisse × 2exposant ; 64 bits = 1 + 11 + 52.
- Comparer avec abs(a - b) < 1e-9, jamais avec ==.
Texte
- ASCII : 7 bits, 128 caractères ; 'A' = 65, 'a' = 97, '0' = 48.
- ISO-8859-1 : 8 bits, accents latins. Unicode : tous les caractères ; UTF-8 : 1 à 4 octets.
- ord("A") → 65 ; chr(97) → 'a' ; "é".encode("utf-8") → 2 octets.
Pièges à éviter
- Tester l’égalité de flottants avec ==, ou une boucle while x != 1.0.
- Croire qu’un caractère occupe toujours 1 octet.
- Confondre Unicode (numérotation) et UTF-8 (manière de stocker en octets).