Aller au contenu principal
CalcMax

Convertisseur de décimal en binaire

Résultat

10001

Binaire

Valeurs de position
16 + 1

Un convertisseur de décimal en binaire réécrit un nombre entier de la base dix dans la base deux. La valeur ne change pas, seule la notation change, et la méthode qui y mène est la division répétée. Divisez le nombre par deux, gardez le reste, divisez le quotient par deux, et continuez jusqu’à ce que le quotient tombe à zéro. Les restes sont les chiffres binaires — mais ils sortent à l’envers, donc le dernier reste noté est le premier chiffre de la réponse. Prenons 17 : 17 ÷ 2 font 8 et il reste 1, puis 8 ÷ 2 font 4 et il reste 0, puis 4 ÷ 2 font 2 et il reste 0, puis 2 ÷ 2 font 1 et il reste 0, et enfin 1 ÷ 2 font 0 et il reste 1. Lus de bas en haut, les restes sont 1, 0, 0, 0 et 1, donc 17 s’écrit 10001 en binaire. C’est cet inversion qui concentre les erreurs, et c’est pourquoi la page imprime chaque division plutôt que la seule réponse. Une valeur de position binaire est une puissance de deux, et relire la réponse comme une somme de ces valeurs est la façon de vérifier le travail : 10001 en binaire contient un 16 et un 1 et rien d’autre, et 16 + 1 redonne 17. Le sens compte tout autant quand le nombre raccourcit — un entier qui est une puissance de deux, comme 16, donne un seul 1 suivi de zéros, et un entier qui vaut une puissance de deux moins un ne donne que des uns, donc 15 s’écrit 1111 en binaire et 255 s’écrit 11111111.

Diviser 17 par deux, tour après tour, jusqu’à ce que le quotient tombe à zéro

ÉtapeDivision par 2Quotient entierReste
117 ÷ 281
28 ÷ 240
34 ÷ 220
42 ÷ 210
51 ÷ 201

C’est la méthode et non un résultat, c’est pourquoi elle est fixée sur 17 tandis que le panneau du dessus convertit ce que vous avez tapé. Lisez la colonne des restes de bas en haut et les chiffres de la réponse apparaissent dans l’ordre : 1, 0, 0, 0 et 1, c’est-à-dire 10001 en binaire. La raison pour laquelle cette colonne se lit vers le haut est que chaque division trouve le chiffre le moins significatif de ce qui reste ; le premier tour fixe le rang des unités, le deuxième celui des deux, et ainsi de suite, les tours parcourent donc la réponse de droite à gauche. La raison pour laquelle le processus a le droit de s’arrêter quand le quotient tombe à zéro est qu’un quotient nul signifie que rien n’est allumé au-dessus du rang courant. Deux détails valent la peine d’être remarqués dans le tableau : chaque reste vaut 0 ou 1 et rien d’autre, parce que le diviseur est deux ; et le quotient diminue de plus de la moitié à chaque tour, ce qui explique que l’échelle de la plus grande saisie acceptée ne fasse qu’une cinquantaine de lignes. Si vous convertissez un autre nombre, suivez les mêmes quatre colonnes sur papier — le tableau vous dit ce que sont les colonnes, pas ce que seront vos nombres.

Formule

17 ÷ 2 = 8 reste 1 → 8 ÷ 2 = 4 reste 0 → 4 ÷ 2 = 2 reste 0 → 2 ÷ 2 = 1 reste 0 → 1 ÷ 2 = 0 reste 1 ⇒ 17 s’écrit 10001 en binaire, et 10001 = 16 + 1

17
Le nombre entier à convertir, écrit en base dix. Il doit être entier : une virgule décimale ou un séparateur de milliers est refusé plutôt qu’arrondi, parce que toute cette famille de pages travaille en nombres entiers
÷ 2
L’étape qui se répète. Deux est la base dans laquelle on convertit, chaque tour demande donc combien de deux tiennent dans le nombre — et ce qui reste est exactement le chiffre qui appartient à ce rang
quotient
La part qui passe au tour suivant. Le processus s’arrête quand le quotient tombe à zéro, ce qui est le signe qu’aucune valeur de position plus haute n’est nécessaire
reste
Le chiffre produit par ce tour. Une division par deux ne peut laisser que 0 ou 1, c’est pourquoi la réponse sort en chiffres binaires et non sous un autre jeu de symboles
⇒ 10001
Les chiffres assemblés de bas en haut. Le premier reste trouvé est le chiffre le plus à droite et le dernier trouvé est le plus à gauche, et c’est la seule étape de cette méthode qu’il est facile de faire à l’envers
16 + 1
La réponse relue comme valeurs de position binaires : 10001 a des uns aux rangs seize et un seulement, leur somme redonne donc 17. C’est la vérification que la page imprime, et elle fonctionne parce que la somme des valeurs de position d’un nombre binaire est ce nombre
53 bits
La longueur maximale de la réponse : cinquante-trois chiffres binaires, soit 9 007 199 254 740 991 en décimal. Au-delà de cette largeur, une machine ne tient plus deux entiers voisins à l’écart, donc une saisie plus grande est refusée au lieu d’être convertie en quelque chose qui a seulement l’air juste

Écrire un nombre en base deux se présente chaque fois qu’il faut produire à la main la notation d’une machine. Empaqueter plusieurs petites valeurs dans un entier suppose de savoir quels bits chacune occupe, et cela commence par la valeur en binaire : un canal de couleur, un jeu d’indicateurs de permission, un champ de bits dans un registre de configuration. Qui lit une fiche technique rencontre la même tâche par l’autre bout, parce que les plages et les masques qui y sont imprimés sont écrits en hexadécimal ou en binaire et que le nombre dont ils viennent est décimal. Dans un exercice, c’est en général le sens demandé directement — convertir un décimal en binaire en montrant le travail — et l’échelle imprimée est exactement ce travail, une ligne par division. La même conversion répond à des questions qui n’ont pas l’air d’en être : combien de bits demande une valeur de cette taille, quelle puissance de deux est juste au-dessus, et pourquoi un champ de huit bits va de 0 à 255 et non à 256. Les programmeurs qui la font de tête passent en général par les puissances de deux plutôt que par l’échelle, en soustrayant la plus grande qui tient et en recommençant, et la sortie de cette page soutient aussi cette méthode : chaque soustraction qui réussit laisse un 1 à ce rang, et la somme des valeurs de position imprimée à côté de la réponse est ces uns additionnés à nouveau.

Exemples détaillés

  1. Écrire 17 en binaire

    1. 17 ÷ 2 = 8, reste 1 — notez le 1
    2. 8 ÷ 2 = 4, reste 0
    3. 4 ÷ 2 = 2, reste 0
    4. 2 ÷ 2 = 1, reste 0
    5. 1 ÷ 2 = 0, reste 1 — le quotient a atteint zéro, on s’arrête
    6. Lisez les restes de bas en haut : 1, 0, 0, 0 et 1, ce qui donne 10001 en binaire

    Le cas par défaut, et celui qui montre l’inversion : le premier reste trouvé est le dernier chiffre de la réponse. Lire les restes dans l’ordre où ils ont été produits donne la réponse à l’envers — en binaire cela donne 10001 ici, et 10001 renversé redonne 10001 par pure coïncidence, c’est donc sur l’exemple suivant qu’il faut vérifier la règle. Pour le contrôle : 16 + 1 = 17.

  2. Écrire un octet complet, 255

    1. 255 ÷ 2 = 127, reste 1
    2. 127 ÷ 2 = 63, reste 1 — et chaque tour suivant laisse 1 lui aussi
    3. 63 → 31 → 15 → 7 → 3 → 1, chaque fois avec un reste de 1
    4. 1 ÷ 2 = 0, reste 1 — huit tours en tout
    5. Huit restes de 1, lus de bas en haut : 11111111 en binaire

    255 est la plus grande valeur qu’un champ de huit bits puisse porter, et voici pourquoi : huit chiffres binaires donnent 2⁸ combinaisons, et la plus grande est 11111111. L’autre bout du même fait est que 256 s’écrit 100000000 en binaire — neuf chiffres — et que c’est le nombre qui ne tient pas dans un octet. La somme des valeurs de position est toute la règle additionnée, et cela vaut la peine de la voir une fois en entier.

  3. Une puissance de deux, 16

    1. 16 ÷ 2 = 8, reste 0
    2. 8 ÷ 2 = 4, reste 0
    3. 4 ÷ 2 = 2, reste 0
    4. 2 ÷ 2 = 1, reste 0
    5. 1 ÷ 2 = 0, reste 1
    6. De bas en haut : un seul 1 suivi de quatre 0, ce qui donne 10000 en binaire

    Une puissance de deux produit exactement un reste de 1 puis s’arrête, la somme des valeurs de position se réduit donc à un seul terme. C’est la forme à reconnaître : tout nombre qui est une puissance de deux s’écrit en binaire comme un seul 1 suivi de zéros, et c’est pourquoi les puissances de deux sont l’unité naturelle des largeurs de champ, des tailles de page et des capacités de tampon.

  4. Les zéros de tête ne changent pas la valeur

    1. Les zéros de tête de la saisie sont devant le nombre décimal et n’ajoutent rien
    2. La conversion se fait sur 17, exactement comme dans le premier exemple
    3. Les deux sorties ressortent mot pour mot identiques à celles de cet exemple

    Les zéros de tête sont acceptés côté saisie parce qu’un nombre décimal est souvent collé depuis un endroit qui l’a complété, et ils ne changent rien : zéro centaine reste zéro centaine. C’est vrai aussi dans l’autre sens, où l’on complète une valeur jusqu’à une largeur fixe exprès : en binaire, 00010001 sur huit bits est le même nombre que 10001, et la page accepte l’une comme l’autre.

Limites

Cette page ne convertit que des nombres entiers. Une virgule décimale est refusée plutôt qu’arrondie, donc 17,5 ne peut pas être converti — une lecture fractionnaire demanderait une seconde règle sur le nombre de chiffres à montrer et sur l’arrondi du dernier, et toutes les pages de ce groupe tracent cette frontière au même endroit. Les séparateurs de milliers sont refusés eux aussi, écrivez donc 1500 et non 1 500 : la virgule se lit comme un séparateur décimal dans certaines langues, et deviner entre les deux lectures est pire que de le demander. La saisie peut faire au plus 9 007 199 254 740 991, soit cinquante-trois chiffres binaires ; une valeur plus grande ne peut pas être tenue exactement par une machine et elle est refusée avec un message au lieu d’être convertie en quelque chose qui ressemble à une réponse. Les zéros de tête et un signe moins placé devant sont acceptés tous les deux. La page imprime l’échelle des divisions par deux pour 17 dans le tableau plus bas, qui est fixe et ne suit pas le nombre que vous avez tapé — le panneau répond pour votre nombre, le tableau montre la méthode. Le sens inverse, relire un nombre binaire comme un décimal, est une page à part, et celle-ci ne fait aucune arithmétique sur le résultat.

Questions fréquentes

Comment convertir un nombre décimal en binaire à la main ?
Divisez par deux, notez le reste, puis divisez le quotient par deux et recommencez jusqu’à ce que le quotient soit nul. Pour 17, cela donne les restes 1, 0, 0, 0 et 1 — et comme chaque tour produit le chiffre suivant en partant de la droite, on les lit de bas en haut pour obtenir 10001 en binaire. L’autre méthode, que beaucoup trouvent plus rapide, consiste à soustraire la plus grande puissance de deux qui tient, à marquer un 1 à ce rang et à recommencer avec ce qui reste ; les deux donnent les mêmes chiffres, et la somme des valeurs de position imprimée sur cette page est ce que la seconde méthode laisse derrière elle.
Pourquoi les restes se lisent-ils de bas en haut ?
Parce que la première division répond à une question sur le plus petit rang, pas sur le plus grand. Diviser 17 par deux demande combien de deux il contient et ce qui reste — et ce qui reste est le chiffre des unités, puisque c’est la part qui n’a pas pu former un deux. Le tour suivant pose la même question sur les deux, et ce qu’il laisse est le chiffre des deux. Les tours parcourent donc les chiffres de la droite vers la gauche, et les lire dans l’ordre où ils ont été écrits donne la réponse à l’envers.
Puis-je convertir un nombre décimal avec une partie fractionnaire ?
Pas ici. Cette page prend des nombres entiers, donc 17,5 est refusé plutôt qu’arrondi. Les fractions en binaire sont parfaitement définies — les rangs à droite de la virgule valent un demi, un quart, un huitième — mais une page qui les accepterait devrait décider combien en garder et comment arrondir la dernière, et toutes les pages de ce groupe convertissent des nombres entiers. Cela garde la frontière au même endroit d’un bout à l’autre, si bien qu’une valeur n’est jamais acceptée par une page et refusée par une autre.
Quel est le plus grand nombre décimal que je peux convertir ici ?
9 007 199 254 740 991, dont la forme binaire est cinquante-trois uns. La limite n’est pas un choix de cette page : à cette largeur, une machine cesse de distinguer deux entiers voisins, donc une réponse plus longue ne serait pas fiable et elle est refusée avec un message au lieu d’être convertie. Le même plafond apparaît sur la page de lecture comme une limite de cinquante-trois chiffres, et en hexadécimal comme quatorze, parce que c’est une seule limite écrite dans trois bases.
Pourquoi la page imprime-t-elle une somme de valeurs de position en plus du nombre binaire ?
Pour que la réponse puisse être vérifiée au lieu d’être crue sur parole. Le nombre binaire est ce que vous avez demandé, mais rien ne permet de dire à vue d’œil si un 10001 en binaire est juste ou faux. Additionner les valeurs de position qu’il porte — ici 16 et 1 — redonne le nombre de départ, ce qui est la conversion parcourue à l’envers. Si la somme ne revient pas à votre nombre, la suite binaire est fausse, et vous le savez sans second outil.
Y a-t-il plus rapide que de diviser de façon répétée ?
Pour les nombres que l’on rencontre souvent, oui : apprenez les puissances de deux jusqu’à 1024 environ et soustrayez la plus grande qui tient. 17 prend 16, il reste 1, la réponse est donc 10001 en binaire avant d’avoir écrit une seule division. L’échelle est meilleure quand le nombre n’est pas familier, parce qu’elle ne demande aucune arithmétique que l’on puisse rater — diviser par deux de façon répétée est mécanique. Les deux méthodes aboutissent aux mêmes chiffres, et aucune n’est plus juste que l’autre.

Références

Calculatrices liées