12 questions. Une seule bonne réponse par question, et
l'explication s'affiche dès que vous avez répondu.
Le cours · La fiche
0 / 12
1Combien de valeurs différentes tiennent dans un octet, et quelle est la plus grande ?
8 bits → 2⁸ = 256 valeurs, de 0 à 255 — parce qu'on commence à compter à zéro. C'est l'erreur d'un cran, et elle revient à chaque chapitre : un octet d'adresse IP va de 0 à 255, et un /24 offre 2⁸ − 2 = 254 adresses utilisables.
2Quel poids porte le bit le plus à droite d'un nombre binaire ?
On numérote les positions à partir de zéro, et x⁰ = 1 dans toutes les bases. Un décalage d'un cran sur toute la ligne double le résultat, et le calcul paraît pourtant impeccable. Le contrôle en deux secondes : un binaire qui finit par 1 est impair, puisque seul 2⁰ apporte une unité.
3Par la méthode des divisions successives par 2, dans quel sens lit-on les restes ?
C'est le piège de la méthode. À l'inverse, pour la partie fractionnaire — multiplications successives par 2 — on lit les retenues à l'endroit, dans l'ordre d'obtention. Ces deux sens opposés sont la source d'erreur numéro un : retenez-les ensemble, jamais séparément.
4Combien fait 1 + 1 en binaire ?
C'est le compteur qui fait le tour : une roue à deux positions passe de 1 à 0 en entraînant sa voisine. 1₂ + 1₂ = 10₂, et en décimal 1 + 1 = 2 — les deux disent la même chose. Attention quand une colonne cumule trois ou quatre 1 : 1+1+1 = 11₂ = 3, donc la retenue peut valoir 2.
5Vous posez A − B et obtenez un résultat plus grand que A. Que faut-il en conclure ?
Impossible pour une soustraction de nombres positifs, donc le signal est net. La règle : calculer B − A, puis écrire A − B = −(B − A). Et ce résultat « aberrant » n'en est pas un : 1111 1100 vaut 252 = 256 − 4, soit −4 en complément à deux — la façon dont tous les processeurs représentent les négatifs.
6Que fait-on à un nombre binaire en lui ajoutant un 0 à droite ?
Exactement comme ajouter un 0 à droite d'un décimal le multiplie par 10. C'est le fondement des opérateurs << et >> en Python et en C : x << 3 multiplie par 8, bien plus vite qu'une vraie multiplication.
7Après une division euclidienne, vous trouvez un reste égal au diviseur. Que signifie ce contrôle ?
L'identité est a = b × q + r avec 0 ⩽ r, et r strictement plus petit que b. Un reste supérieur ou égal au diviseur signale toujours un quotient sous-estimé. C'est le contrôle le plus rapide d'une division, dans n'importe quelle base.
8Pourquoi 0.1 + 0.2 affiche-t-il 0.30000000000000004 en Python ?
0,1₁₀ = 0,0001100110011…₂ : le motif 0011 se répète à l'infini, la machine stocke donc une valeur approchée. Ce n'est pas un bug, c'est cette impossibilité. Deux conséquences pratiques : on ne compare jamais deux flottants par ==, et l'on ne stocke jamais un montant en euros dans un float — on compte en centimes, avec des entiers.
9Pourquoi l'hexadécimal existe-t-il ?
C'est du binaire écrit quatre fois plus court, sans perte d'alignement. Le décimal est plus court encore, mais inutilisable ici : rien dans « 54959 » ne dit quels bits sont à 1. D'où sa présence dans les adresses MAC, les couleurs du web, les vidages mémoire et IPv6.
10Pour convertir 110101111₂ en hexadécimal, par quel côté regroupe-t-on les bits ?
Grouper depuis la gauche donnerait 1101 0111 1, et le dernier groupe incomplet serait lu 1 au lieu de 0001 : le résultat serait faux d'un facteur 8. On part toujours de la droite — c'est la même raison qui fait écrire les nombres binaires par quartets depuis le début du chapitre.
11Dans 2A3₁₆, que représente le A ?
Il occupe une position et porte un poids, exactement comme le 2 et le 3. Il s'additionne comme un chiffre : A + 1 = B, et F + 1 = 10₁₆ — la retenue, comme 9 + 1 = 10 en décimal. Le déclic vient quand on cesse de le lire comme une lettre.
12À quelle notation CIDR correspond le masque 255.255.255.192 ?
192 = 128 + 64 = 1100 0000 : deux bits à 1 de plus que le /24, donc /26. Il reste 32 − 26 = 6 bits pour les machines, soit 2⁶ − 2 = 62 adresses utilisables. Un masque de sous-réseau n'est rien d'autre qu'un nombre binaire — tout l'adressage IP tient dans ce chapitre.