Calculatrice de base numérique
Résultat
Résultat
- Décimal
- 17
- Reste
- 0
Toute base est une règle qui transforme une suite de chiffres en une valeur : on multiplie chaque chiffre par la base élevée à la puissance de son rang — sa valeur positionnelle — puis on additionne les résultats, le rang zéro étant celui de droite. En base 2, les seuls chiffres sont 0 et 1 et chaque rang vers la gauche double : 1011 vaut 1×8 + 0×4 + 1×2 + 1×1, soit 11. En base 16, les chiffres vont de 0 à 9 puis de A à F, et chaque rang vers la gauche multiplie par 16 : FF vaut 15×16 + 15, soit 255. Cette calculatrice accepte n’importe quelle base numérique de 2 à 36 et y effectue les quatre opérations. Une base n’est pas une autre sorte de nombre : c’est une autre façon d’écrire les mêmes nombres. C’est pourquoi le changement de base ne modifie jamais la valeur, et pourquoi le panneau de résultats affiche la réponse deux fois — une fois dans la base choisie, une fois en décimal. En binaire, 1011 plus 110 donne 10001 ; c’est 11 plus 6, donc 17, et 17 s’écrit bien 10001 en base 2. Les deux lignes disent la même chose, et la ligne décimale est là pour ceux qui ne passent pas leur journée dans une autre base. Trois points à connaître avant de commencer. Au-delà de neuf, les chiffres ont besoin de symboles : par convention les lettres A à Z représentent dix à trente-cinq, ce qui fait de la base 36 la plus grande base qu’un clavier puisse écrire. Un chiffre n’est valide que s’il est inférieur à la base, donc 2 n’est pas un chiffre en base 2 et 1012 n’est pas un nombre binaire malgré les apparences. Enfin, la base ne fait pas partie de la réponse : 10001 ne vaut dix-sept que parce que vous avez déclaré la base égale à deux. Cette page couvre l’arithmétique binaire et le système hexadécimal sous le même toit. L’addition y pose une retenue dès qu’une colonne atteint la base au lieu de dix, ce qui fait rouler FF plus 1 vers 100 et non vers FG — il n’y a pas de G, parce que seize n’est pas un chiffre. La division est l’opération où le changement de base se voit le mieux : elle produit un quotient et un reste, tous deux écrits dans votre base. La ligne du reste est toujours affichée ; pour l’addition, la soustraction et la multiplication elle vaut 0, car pour des entiers « il ne reste rien » et « le reste est nul » sont la même phrase. La soustraction peut descendre sous zéro, et la réponse porte alors un signe moins ordinaire — le signe ne fait pas partie du jeu de chiffres.
Le nombre 255 écrit en bases 2, 8, 10 et 16, avec ses valeurs positionnelles détaillées
| Base utilisée | Écriture dans cette base | Valeurs positionnelles |
|---|---|---|
| 2 | 11111111 | 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 |
| 8 | 377 | 3×64 + 7×8 + 7 |
| 10 | 255 | 2×100 + 5×10 + 5 |
| 16 | FF | 15×16 + 15 |
Lisez la colonne du milieu de haut en bas et la même valeur apparaît quatre fois, écrit en binaire 11111111, puis 377 en base 8, 255 en base 10 et FF en base 16. Rien n’a changé dans le nombre d’une ligne à l’autre — seuls les symboles et la taille des pas ont changé. La troisième colonne est le calcul qui ramène chaque écriture à 255 : en base 2 il y a huit uns, donc toutes les puissances de deux de 128 à 1 apparaissent ; en base 16 il n’y a que deux chiffres, mais le premier est multiplié par 16 et non par 2. Remarquez comment la largeur diminue quand la base augmente. La base 2 a besoin de huit chiffres pour dire 255, la base 8 de trois, la base 10 de trois et la base 16 de deux : une base plus grande dit la même valeur en moins de positions, parce que chaque position vaut davantage. Tout l’intérêt des bases tient dans cet échange : la base 16 sert aux octets non parce qu’elle serait mathématiquement remarquable, mais parce que deux de ses chiffres couvrent exactement un octet, et la base 2 se situe un cran en dessous parce qu’un fil qui ne connaît que marche et arrêt a exactement deux états. Le tableau ne suit pas les nombres que vous avez saisis — le panneau ci-dessus répond à ceux-là, ici sont montrées quatre écritures d’une seule valeur.
Formule
1011 + 110 = 10001 en binaire, et 11 + 6 = 17 en base 10 ⇒ 10001 vaut 17, une même valeur écrite de deux façons
- b
- La base, un entier de 2 à 36. C’est une zone de saisie ordinaire et non une liste de trente-cinq choix, donc les bornes sont posées sur la zone elle-même : 1 et 37 sont refusés avant que le calcul ne commence. La base 1 est impossible parce qu’un seul symbole ne peut pas compter au-delà de zéro, et la base 37 exigerait un trente-septième symbole qu’aucun clavier ne possède
- 1011
- Onze écrit en base 2 : 1×8 + 0×4 + 1×2 + 1×1. Lisez de droite à gauche, c’est le sens dans lequel les puissances augmentent. Le même onze vaut 11 en base 10, 13 en base 8 et B en base 16
- 10001
- La réponse à 1011 + 110, toujours en base 2 : 1×16 + 0×8 + 0×4 + 0×2 + 1×1, soit 17. Deux retenues ont eu lieu en chemin — la colonne des unités a atteint 2 et celle des quatre a atteint 2 — et chacune a décalé une position vers la gauche, exactement comme une retenue se propage en base 10 quand une colonne atteint dix
- FF
- Quinze fois seize plus quinze, soit 255. La base 16 est celle qui s’ajuste exactement sur un octet : deux chiffres hexadécimaux couvrent toutes les valeurs de 0 à 255, et c’est pourquoi cette base apparaît partout où il y a des octets. A à F sont les six chiffres au-delà de neuf
- 17 ÷ 5 = 3 r 2
- La division écrite en toutes lettres. En binaire, la même division s’écrit 10001 ÷ 101 = 11 reste 10, et la page affiche le quotient comme résultat et le reste sur sa propre ligne. Le reste est toujours plus petit que le diviseur — c’est ce qui en fait un reste et non une fraction
- A à Z
- Les vingt-six chiffres supplémentaires qui portent la base 10 jusqu’à la base 36. A vaut dix, B onze et Z trente-cinq. Les majuscules et les minuscules sont acceptées, la page affiche des majuscules
Lire une valeur dans un système qui parle une autre base est l’usage de tous les jours. Un vidage mémoire imprime chaque octet sous forme de deux chiffres hexadécimaux, un droit d’accès de fichier s’affiche en 755 parce que chacun des trois chiffres regroupe trois bits, un masque de sous-réseau est fait de quatre groupes de huit bits, et une adresse IPv6 est hexadécimale de bout en bout. Dans chacun de ces cas, la valeur décimale n’est pas ce que vous cherchez : vous voulez voir la base que la machine voit. Écrire vers ces mêmes systèmes est le miroir de la même opération : poser un motif de bits dans un registre, composer une couleur à partir de ses octets rouge, vert et bleu, ou comprendre pourquoi une valeur décalée est devenue négative, tout cela se calcule dans une base qui n’est pas dix. Dans l’enseignement, le calcul en base quelconque sert à montrer que la numération de position est un choix et non un fait, et les exercices sont exactement ce que fait cette page — poser une retenue en base 2, emprunter en base 8, puis constater que la même opération donne le même résultat dans toutes les bases dès que les deux côtés sont lus dans la même. Un quatrième usage est la contre-épreuve : si 1011 plus 110 en base 2 ne donne pas 17 en décimal, c’est que l’une des deux lectures est fausse, et c’est d’avoir les deux lignes côte à côte qui rend ce contrôle possible. Quand la base vaut précisément 2 ou 16, les pages voisines vont plus loin : la calculatrice de nombres binaires et celle de nombres hexadécimaux sont ce même calcul avec la base déjà remplie, et les deux pages de conversion changent une valeur de base sans opération intermédiaire.
Exemples détaillés
Addition en base 2 : 1011 + 110
- Lisez les deux opérandes en décimal pour savoir ce que vous additionnez : 1011 vaut 11 et 110 vaut 6
- 11 + 6 = 17
- Écrivez 17 en base 2 : 17 = 16 + 1, donc les chiffres sont 1 0 0 0 1
- La réponse en base 2 est 10001, et la ligne décimale confirme qu’il s’agit bien de 17
L’entrée par défaut, et celle que le tableau plus bas déroule dans une autre base. L’addition colonne par colonne donne le même résultat : 1 + 0 vaut 1, 1 + 1 vaut 0 avec une retenue de 1, puis 0 + 1 plus la retenue vaut de nouveau 0 avec une retenue de 1, et la dernière retenue ouvre une colonne supplémentaire à gauche. Poser une retenue quand une colonne atteint 2, c’est toute l’addition en base 2 ; ces retenues sont la raison pour laquelle, en binaire, 10001 occupe cinq positions alors que les opérandes en occupaient quatre et trois.
Dépasser le dernier chiffre : FF + 1 en base 16
- FF vaut 15×16 + 15 = 240 + 15 = 255
- En ajoutant 1 on obtient 256
- Écrivez 256 en base 16 : 256 = 1×256 + 0×16 + 0, donc les chiffres sont 1 0 0
- La réponse est 100 en base 16 — c’est-à-dire 256, et non cent
Voilà précisément le piège pour lequel cet exemple existe : 100 est un petit nombre en base 10 et un nombre bien plus grand en base 16. Une lecture colonne par colonne montre pourquoi il devient aussi large — F plus 1 vaut seize, et seize n’est pas un chiffre en base 16, donc la colonne pose une retenue et laisse 0 derrière elle ; le 1 reporté tombe sur un F déjà plein, qui reporte à son tour. Une seule addition a fait monter la réponse de deux positions. C’est le même événement que 99 + 1 = 100 en base 10, et c’est la raison pour laquelle un octet qui passe de 255 à 256 a besoin d’un second octet.
Division avec reste : 1011 ÷ 10 en base 2
- 1011 vaut 11 et 10 vaut 2
- 11 ÷ 2 = 5 reste 1
- Écrivez 5 en base 2 : 5 = 4 + 1, donc les chiffres sont 1 0 1
- Le quotient est 101 et la ligne du reste affiche 1 — et 101 vaut 5, ce que la ligne décimale confirme
La seule des quatre opérations dont le reste n’est pas nul, et c’est pour elle que la ligne du reste figure sur la page. Remarquez que le quotient ne contient que la partie entière : 11 divisé par 2 vaut 5,5, et la page affiche 101 avec un reste de 1 plutôt que 10,1 ou 101,1, parce qu’un reste maintient la réponse en nombres entiers — la moitié est logée dans ce 1. La vérification est 5 × 2 + 1 = 11, et elle tient dans toutes les bases.
Limites
La base doit être un entier de 2 à 36. Un est impossible parce qu’un seul chiffre ne peut exprimer aucune valeur autre que zéro, et trente-sept exigerait un trente-septième symbole ; la zone refuse les deux avant que le calcul ne commence. Les nombres à virgule et les fractions sont refusés au lieu d’être arrondis, et un signe moins devant un opérande l’est aussi : la page lit des chiffres, et un signe ou un point n’est pas un chiffre. Un chiffre trop grand pour la base choisie est un cas à part, et il vaut mieux dire franchement comment il est traité. Tapez 1012 avec la base réglée sur 2 et vous obtiendrez un message d’erreur de calcul général, et non un message nommant le chiffre fautif. C’est un compromis assumé et non un oubli : la vérification posée sur la zone de saisie ne reçoit que la chaîne, sans accès à la zone de base qui la jouxte, et les options honnêtes étaient soit d’accepter toute suite de chiffres pouvant être valide dans une base quelconque, soit de tout accepter. La page a retenu la première. En pratique, la zone reste propre et l’erreur apparaît dans le panneau de résultats : la réponse n’est jamais fausse, elle est seulement moins bien expliquée. Les deux opérandes sont limités à soixante caractères et au plus grand entier qu’un flottant double représente exactement, soit 9 007 199 254 740 991 — seize chiffres en base 10 et environ cinquante en base 2. La réponse est soumise au même plafond : elle est calculée exactement puis contrôlée, donc une opération dont le résultat le dépasse est refusée plutôt qu’affichée comme valeur arrondie. Les lettres peuvent être saisies en majuscules ou en minuscules et sont affichées en majuscules, ff et FF sont donc la même entrée. Les zéros de tête sont acceptés et ignorés, ce qui signifie qu’en binaire 00001011 et 1011 sont le même nombre et s’affichent tous deux 1011. Le tableau de référence ci-dessous est fixé à 255 dans les bases 2, 8, 10 et 16 et ne suit pas ce que vous avez tapé — le panneau répond à vos nombres, le tableau montre quatre écritures d’une seule valeur côte à côte.
Questions fréquentes
- Comment additionner deux nombres dans une base qui n’est pas dix ?
- Additionnez colonne par colonne en partant de la droite, exactement comme en base 10, mais posez une retenue quand une colonne atteint la base et non quand elle atteint dix. En base 2, le seul seuil de retenue est 2 : 1 + 1 font 0 et je retiens 1. Ainsi 1011 + 110 donnent 10001, parce que la colonne des deux et celle des quatre ont chacune débordé et poussé un 1 dans la position suivante. Si vous préférez ne pas suivre les retenues, convertissez les deux opérandes en décimal, faites-y l’opération, puis revenez — c’est exactement ce que montre la ligne décimale de cette page, et elle donne le même résultat à chaque fois.
- Pourquoi 1012 est-il refusé quand la base vaut 2 ?
- Parce que 2 n’est pas un chiffre en base 2 : les chiffres y sont 0 et 1, rien d’autre. La règle veut qu’un chiffre soit inférieur à la base, donc la base 2 admet 0 et 1, la base 8 admet 0 à 7, la base 10 admet 0 à 9 et la base 16 admet 0 à 9 puis A à F. Vous verrez cela comme une erreur de calcul générale plutôt que comme un message nommant le chiffre, et c’est une aspérité connue : la vérification de la zone de saisie ne voit que la chaîne tapée, pas la base choisie, si bien qu’elle accepte toute suite de chiffres pouvant être valide dans une base quelconque et laisse le contrôle lié à la base au calcul. La réponse n’est jamais fausse, mais l’explication est plus maigre qu’elle ne devrait l’être.
- Quelles bases puis-je utiliser, et pourquoi cela s’arrête-t-il à 36 ?
- Tout entier de 2 à 36. Le plafond vient du clavier et non des mathématiques : les chiffres au-delà de neuf ont besoin de symboles, la convention retient les lettres A à Z, et il y en a vingt-six — dix plus vingt-six font trente-six. La base 1 est impossible pour une autre raison : avec un seul chiffre, on ne peut écrire aucune valeur supérieure à zéro, puisque chaque position vaudrait 1 et que 2 resterait hors d’atteinte.
- Est-ce que 100 en base 16 vaut cent ?
- Non, et c’est précisément l’erreur que le deuxième exemple de la page existe pour écarter. En base 16, 100 signifie 1×256 + 0×16 + 0, soit 256. Les caractères sont les mêmes, mais chaque position vaut seize fois plus au lieu de dix fois plus, si bien que les trois mêmes symboles représentent une valeur différente. La ligne décimale de la page est là justement pour que vous n’ayez jamais à deviner quelle lecture est visée.
- Pourquoi le reste est-il affiché même pour une addition ?
- Parce que pour des entiers, « il ne reste rien » et « le reste est nul » sont la même affirmation, et qu’une ligne qui apparaît et disparaît se lit plus mal qu’une ligne toujours présente. Pour l’addition, la soustraction et la multiplication, cette ligne affiche 0. Seule la division peut produire un reste non nul, et elle y porte la part qui ne s’est pas divisée exactement — 1011 ÷ 10 en base 2 laisse 1, c’est-à-dire la moitié de 11 ÷ 2 que le quotient a abandonnée.
- Puis-je calculer en base dix sur cette page ?
- Oui, et c’est un moyen commode de vérifier que la page s’accorde avec une calculatrice ordinaire : réglez la base sur 10 et tout se comporte comme vous l’attendez, car les chiffres, les retenues et le format de la réponse ne changent pas. Vous y gagnez la ligne du reste et l’énoncé explicite de la base, et vous n’y perdez rien. Les pages voisines vont dans l’autre sens — la calculatrice de nombres binaires et celle de nombres hexadécimaux sont ce même calcul avec la base déjà réglée sur 2 et sur 16, et les pages de conversion font passer une valeur d’une base à une autre sans opération intermédiaire.
Références
- Base — what a positional number system is, how the digits of a base b expansion are read, and why the base must be a whole number greater than 1 — Wolfram MathWorld (United States)
- Hexadecimal — the base-16 system, the six letters past nine, and the convention that makes two hex digits equal one byte — Wolfram MathWorld (United States)
- Binary — the base-2 system and the place values 1, 2, 4, 8 that its digits stand for — Wolfram MathWorld (United States)
- Système de numération — la présentation francophone de la numération de position, du principe de la base et de la valeur positionnelle des chiffres — Wikipédia en français