Décimal — base 10
Chiffres de 0 à 9. Chaque position vaut une puissance de 10.
Passer du décimal au binaire et à l'hexadécimal, comprendre les bits et additionner en base 2.
La position d'un chiffre détermine sa valeur.
Chiffres de 0 à 9. Chaque position vaut une puissance de 10.
Chiffres 0 et 1. Chaque position vaut une puissance de 2.
Chiffres 0 à 9 puis A, B, C, D, E, F pour 10 à 15.
Un bit prend la valeur 0 ou 1. Un octet contient 8 bits : il peut représenter 256 configurations, de 00000000₂ à 11111111₂ (0 à 255 en non signé).
| Position | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| Poids | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 42 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
42 = 32 + 8 + 2, donc 42₁₀ = 00101010₂.
Deux méthodes à connaître.
Pour 1101₂, les bits à 1 ont pour poids 8, 4 et 1 : 1101₂ = 13₁₀.
Pour 13 : 13 = 2×6 + 1 ; 6 = 2×3 + 0 ; 3 = 2×1 + 1 ; 1 = 2×0 + 1. On lit les restes de bas en haut : 1101₂.
def vers_binaire(n):
if n == 0:
return "0"
resultat = ""
while n > 0:
resultat = str(n % 2) + resultat
n = n // 2
return resultat
print(vers_binaire(13)) # 1101Un chiffre hexadécimal correspond exactement à quatre bits.
On regroupe les bits par quatre à partir de la droite : 1100 1010₂ = CA₁₆, car 1100₂ = 12 = C et 1010₂ = 10 = A.
Dans l'autre sens, 2F₁₆ = 2 × 16 + 15 = 47₁₀.
Les règles sont les mêmes qu'en décimal, mais avec seulement 0 et 1.
Résultat 0, aucune retenue.
Résultat 1, aucune retenue.
Résultat 0 et retenue 1, donc 10₂.
¹ ¹
0101
+ 0011
------
1000
5 + 3 = 8On additionne de droite à gauche, en reportant les retenues. Sur un nombre fixe de bits, une retenue au-delà du bit de poids fort peut signaler un dépassement de capacité.
Manipule les bits et vérifie tes conversions.
Clique sur chaque bit pour l'activer ou le désactiver. Le poids est indiqué sous le bit.
Entiers naturels jusqu'à 65 535.
Écris deux nombres binaires de 1 à 8 bits. Les retenues sont expliquées de droite à gauche.
Essaie de répondre avant d'ouvrir les solutions.
57 = 32 + 16 + 8 + 1, donc 111001₂ (ou 00111001₂ sur 8 bits).
128 + 32 + 16 + 4 + 2 = 182₁₀. Par groupes de quatre bits : 1011 0110 = B6₁₆.
11 + 6 = 17, donc 10001₂.
Une bonne réponse par question, note sur 20 et correction détaillée.