⌨ Spécialité NSI · Numérique et sciences informatiques Première Générale · Chapitre 2

Booléens, flottants et textes

Valeurs booléennes, opérateurs and, or, not et xor, tables de vérité et portes logiques ; représentation approximative des réels par les flottants ; codage des caractères (ASCII, Unicode, UTF-8).

1. Booléens et logique

Définition

Un booléen vaut True (vrai, $1$) ou False (faux, $0$). Opérateurs : non (not), et (and : vrai si les deux sont vrais), ou (or : vrai si au moins un est vrai), ou exclusif (xor, ^ en Python sur les entiers : vrai si exactement un est vrai).

Propriété · Tables de vérité

$a$$b$$a$ et $b$$a$ ou $b$$a$ xor $b$
00000
01011
10011
11110
&ET (and)≥1OU (or)1NON (not)
Portes logiques (symboles normalisés) : ET, OU et NON.

Attention · Évaluation paresseuse

En Python, a and b n'évalue pas b si a est faux ; a or b n'évalue pas b si a est vrai. Ainsi x != 0 and 1 / x > 2 ne provoque jamais de division par zéro.

2. Les flottants

Définition

Les réels sont représentés de façon approchée par des nombres à virgule flottante (norme IEEE 754) : un signe, un exposant et une mantisse, en binaire. Beaucoup de décimaux simples, comme $0{,}1$, n'ont pas d'écriture binaire finie.

Exemple · 0,1 + 0,2

En Python, 0.1 + 0.2 == 0.3 renvoie False : on obtient 0.30000000000000004. On compare donc des flottants avec une tolérance : abs(a - b) < 1e-9.

3. Les textes

Propriété · Codages

ASCII : $7$ bits, $128$ caractères (lettres non accentuées, chiffres, ponctuation ; 'A' $= 65$). ISO-8859-1 (latin-1) : $8$ bits, ajoute les accents d'Europe de l'Ouest. Unicode attribue un numéro (point de code) à chaque caractère de toutes les écritures ; UTF-8 le code sur $1$ à $4$ octets, en restant compatible avec ASCII.

Activité · Explorer les codes en Python

MatérielPython.
ConsigneTester ord("A"), chr(97), ord("é") et "é".encode("utf-8").
Résultat$65$, 'a', $233$ et b'\xc3\xa9' (deux octets).
BilanUn texte mal décodé (UTF-8 lu en latin-1) affiche des caractères parasites comme « é » au lieu de « é ».

⚠️ Une erreur dans ce cours ? Signalez-la

S'entraîner

Exercices corrigés

🎓 20 exercices corrigés et un quiz vous attendent dans ce chapitre.

Créez votre compte gratuit pour voir les corrections, faire les quiz et suivre votre progression.

15

Majuscule en minuscule

★★☆

Les minuscules ont un code supérieur de $32$ aux majuscules. Écrire une fonction minuscule(c) pour une lettre majuscule non accentuée.

🔒 Correction réservée aux membres Créer un compte gratuit →

Vérifier

Avez-vous bien compris ?

Répondez au quiz : la correction s'affiche immédiatement.