Idées clés
Les ordinateurs stockent les nombres en base 2 et les humains les lisent en base 8 ou 16. Convertir entre bases, compter les bits nécessaires à une valeur et lire des valeurs signées reposent sur des valeurs de position qui sont des puissances de la base.
- Chaque chiffre est pondéré par une puissance de la base. En binaire, les poids sont 1, 2, 4, 8, 16 et ainsi de suite depuis la droite.
- Un chiffre hexadécimal représente 4 bits et un chiffre octal 3 bits, donc regrouper les bits convertit directement.
- Pour donner des codes distincts à n éléments, il faut ⌈log₂ n⌉ bits. n bits contiennent 2ⁿ valeurs différentes.
- En complément à deux sur 8 bits, un 1 de tête signifie négatif. La valeur est la valeur non signée moins 256.
Équations clés
value = Σ dᵢ × bⁱbits needed = ⌈log₂ n⌉n bits hold 2ⁿ valuestwo’s complement: value = unsigned − 2ⁿ when the top bit is 1
Exemple résolu
Le binaire 101101 vaut 32 + 8 + 4 + 1 = 45. L’hexadécimal 2F vaut 2 × 16 + 15 = 47. L’octal 157 vaut 64 + 40 + 7 = 111. Donner des codes distincts à 200 éléments demande 8 bits, car 2⁷ = 128 est trop petit et 2⁸ = 256 suffit. Le motif de 8 bits 11110110 vaut 246 non signé, donc en complément à deux 246 − 256 = −10. Le motif 10110111 comporte six bits à 1.
Erreurs fréquentes
- Lire les valeurs de position binaires depuis la gauche au lieu de donner le poids 1 au chiffre le plus à droite.
- Arrondir le nombre de bits par défaut. 200 éléments demandent 8 bits, pas 7.
- Traiter un motif à 1 de tête comme positif en complément à deux.
Pratique
Testez-vous avec des questions d’entraînement sur ce thème : Systèmes de numération et données