Calculatrice binaire
Effectuez des calculs sur des nombres binaires : addition, soustraction, multiplication, division avec reste, opérations bit à bit ET, OU, XOR, NON et décalages de bits à gauche ou à droite. Saisissez deux valeurs binaires et obtenez des résultats exacts en binaire, en décimal, en hexadécimal et en octal, avec le détail des étapes.
Additionnez, soustrayez, multipliez et combinez des nombres binaires
Arithmétique binaire – règles de base
Où :
- \(b_i\) — un bit, qui vaut 0 ou 1
- \(i\) — la position du bit, comptée à partir de la droite en commençant à 0
- \(2^i\) — la valeur positionnelle, c'est-à-dire le poids de cette position
Les nombres binaires n'utilisent que les chiffres 0 et 1, et chaque position vaut une puissance de 2. Les calculs se déroulent exactement comme en décimal, simplement avec les tables de la base 2 : pour l'addition \(0+0=0\), \(0+1=1\) et \(1+1=10_2\) (on écrit 0 et on retient 1) ; pour la soustraction \(1-0=1\), \(1-1=0\), et \(0-1\) emprunte 1 à la colonne suivante (ce qui vaut 2) pour écrire 1.
Pour les opérations bit à bit, chaque bit du résultat ne dépend que des deux bits placés dans la même colonne des opérandes, comme si les nombres étaient écrits l'un sous l'autre. Un décalage à gauche de \(k\) positions multiplie par \(2^k\) à l'intérieur d'un mot de largeur fixe, et un décalage arithmétique à droite de \(k\) positions divise par \(2^k\) en arrondissant vers \(-\infty\).
Calculatrice binaire – exemple de calcul
Exemple : additionnez les nombres binaires A = 1011 et B = 0110 (les valeurs par défaut de la calculatrice).
Lisez d'abord les deux nombres en décimal à l'aide des poids \(2^3, 2^2, 2^1, 2^0\) :
\[ 1011_2 = 8 + 0 + 2 + 1 = 11_{10}, \qquad 0110_2 = 0 + 4 + 2 + 0 = 6_{10} \]
Additionnez ensuite colonne par colonne en partant de la droite, en reportant 1 chaque fois qu'une colonne totalise 2 ou plus :
\[ 1011_2 + 0110_2 = 10001_2 \]
Vérification en décimal : \(11 + 6 = 17\), et effectivement \(10001_2 = 16 + 1 = 17\).
Résultat : 10001 en binaire, 17 en décimal, 0x11 en hexadécimal et 0o21 en octal.
Comment utiliser la calculatrice
- Choisissez une Opération dans le menu déroulant : addition, soustraction, multiplication, division avec reste, l'un des opérateurs bit à bit (ET, OU, XOR, NON) ou un décalage de bits (A << B, A >> B).
- Saisissez le Premier nombre (A) uniquement avec les chiffres 0 et 1, précédé le cas échéant d'un signe moins pour les valeurs négatives. Les espaces à l'intérieur du nombre sont ignorés.
- Saisissez de la même manière le Second nombre (B). Pour NON, seul A est utilisé ; pour les décalages, B indique la quantité de décalage (elle aussi notée en binaire).
- Pour NON et les décalages à gauche et à droite, choisissez une Largeur de mot (8, 16, 32 ou 64 bits). Le résultat de ces trois opérations est un mot en complément à deux de cette largeur.
- Consultez les Résultats : la réponse en binaire, accompagnée de ses équivalents décimal, hexadécimal et octal. La division affiche également le reste, et le panneau Étapes du calcul explique comment la réponse a été construite.
Comprendre l'arithmétique binaire
Le binaire est le système de numération propre au matériel électronique : un bit vaut 0 ou 1 parce qu'un transistor est bloqué ou passant. Tout nombre binaire est une suite de bits dans laquelle la position \(i\), comptée à partir de la droite, porte le poids \(2^i\). Ainsi, 1011 n'est pas « mille onze », mais \(1\cdot8 + 0\cdot4 + 1\cdot2 + 1\cdot1 = 11\). Une fois que vous lisez les nombres de cette façon, les quatre opérations de base suivent la bonne vieille méthode apprise à l'école — on retient simplement à partir de 2 au lieu de 10.
Les opérations bit à bit fonctionnent différemment : elles traitent chaque colonne indépendamment, ce qui les rend idéales pour les masques et les indicateurs. Le ET de deux nombres ne conserve que les bits à 1 dans les deux ; le OU, les bits à 1 dans au moins un des deux ; le XOR, les bits à 1 dans exactement un des deux. Le tableau ci-dessous montre la règle pour une seule colonne :
| A | B | A ET B | A OU B | A XOR B |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
Les décalages sont le raccourci binaire pour multiplier par une puissance de deux. Décaler 1011 de 2 positions vers la gauche donne 101100, soit \(11 \times 4 = 44\) — à condition qu'aucun bit ne disparaisse au bord gauche du mot. C'est bien pour cela que la largeur de mot compte : dans un registre de 32 bits, 1 décalé de 31 positions vers la gauche ne pose aucun problème, mais décalé de 32, le bit disparaît et le résultat retombe à 0. Les informaticiens s'en servent partout, des masques d'images aux sous-réseaux IP, où un calculateur CIDR applique la même logique de masque binaire aux plages d'adresses.
Pour convertir un nombre unique d'une base à l'autre plutôt que de calculer avec deux nombres, utilisez le Convertisseur binaire ; le Convertisseur hexadécimal fait de même pour la notation hexadécimale, souvent préférée des programmeurs.
Hypothèses, limites et conseils
- Jusqu'à 1024 bits par saisie. Tous les calculs reposent sur une arithmétique entière exacte : même de très longues valeurs binaires donnent un résultat exact — aucun arrondi, aucun dépassement pour les modes addition, soustraction, multiplication, division et opérations bit à bit.
- NON et les décalages sont à largeur fixe. Ils sont évalués dans la taille de mot que vous choisissez, exactement comme le ferait un registre de processeur. Les résultats hexadécimaux et octaux de ces opérations s'affichent comme des motifs de bits non signés de cette largeur, complétés par des zéros de tête.
- La division tronque vers zéro et indique le reste, conformément au comportement des opérateurs
/et%en JavaScript, C et Java : A = B × Q + R avec |R| < |B|, R prenant le signe de A. - Les tableaux d'étapes (lignes de retenue, lignes d'emprunt, colonnes bit à bit) sont tracés pour des saisies allant jusqu'à 64 bits et, pour la multiplication, jusqu'à 24 bits à 1 dans B ; les valeurs plus longues restent calculées exactement, mais sans le détail illustré.
- Les zéros de tête ne changent rien sur le plan numérique —
0110et110valent tous deux 6 —, mais NON et les décalages s'en servent pour définir la forme du mot : indiquez explicitement la largeur si ce remplissage vous importe. - Les nombres négatifs ne sont acceptés qu'en notation signe et valeur absolue (un signe moins devant) ; la calculatrice les convertit en interne et affiche le résultat avec un signe moins, et non comme un motif en complément à deux (sauf dans le mode NON et décalage).
Questions fréquentes
Comment convertir un nombre binaire en décimal à la main ?
Écrivez les puissances de 2 au-dessus de chaque bit, de droite à gauche : 1, 2, 4, 8, 16, et ainsi de suite, puis additionnez celles qui se trouvent sous un 1. Par exemple, \(1101_2 = 8 + 4 + 0 + 1 = 13\). Le bit le plus à droite (position 0) porte toujours le poids \(2^0 = 1\), et chaque pas vers la gauche double ce poids.
Comment convertir un nombre décimal en binaire, étape par étape ?
Divisez le nombre par 2 autant de fois que nécessaire, en notant le reste à chaque étape, jusqu'à arriver à 0, puis lisez les restes de bas en haut. Pour 13 : \(13 \div 2 = 6\) reste 1, \(6 \div 2 = 3\) reste 0, \(3 \div 2 = 1\) reste 1, \(1 \div 2 = 0\) reste 1 — la suite de restes 1101 est l'écriture binaire du nombre.
Pourquoi 1 + 1 donne-t-il 10 en binaire ?
Parce qu'il n'existe pas de chiffre 2 en binaire. Quand une colonne atteint 2, on y écrit 0 et on reporte 1 dans la colonne suivante, à gauche, exactement comme en décimal quand une colonne dépasse 9. Ainsi, \(1 + 1 = 10_2\), qui se lit « un zéro » — la façon binaire d'écrire deux (un groupe de deux, plus zéro unité).
Quelle est la différence entre ET, OU et XOR ?
Les trois comparent les nombres colonne par colonne. Le ET donne 1 uniquement là où les deux opérandes ont un 1 — pratique pour extraire ou masquer des bits. Le OU donne 1 là où au moins un des deux opérandes a un 1 — pratique pour définir des bits. Le XOR donne 1 là où exactement un des deux opérandes a un 1 — pratique pour inverser des bits ; et le XOR d'un nombre avec lui-même donne toujours 0.
Pourquoi faut-il choisir une largeur de mot pour NON et les décalages ?
NON et les décalages modifient le nombre de bits du résultat : la réponse dépend donc de la taille du conteneur, comme dans un registre de processeur. Dans un mot de 8 bits, NON 0000 0101 inverse chaque bit, y compris les zéros de tête, ce qui donne 1111 1010. De même, un décalage à gauche de k positions multiplie par \(2^k\) seulement si aucun bit ne sort du bord gauche du mot — sinon la valeur boucle sur elle-même.
Que se passe-t-il avec les nombres négatifs en binaire ?
Cette calculatrice accepte les valeurs négatives saisies avec un signe moins et calcule des résultats signés exacts. Pour les opérations à largeur fixe NON et décalage, en revanche, les nombres négatifs suivent la convention du complément à deux : \(-A\) est représenté par \(2^w - A\) dans un mot de w bits, et NON A vaut \(-A - 1\). C'est pourquoi NON 0, quelle que soit la largeur, donne toujours −1.
Quelles sont les erreurs les plus fréquentes dans le calcul binaire à la main ?
Oublier la retenue quand une colonne atteint 2, emprunter 10 au lieu de 2 pendant une soustraction, et lire le résultat comme des chiffres décimaux (1011 vaut onze, et non mille onze). Attention aussi au sens du décalage : vers la gauche, il multiplie par \(2^k\) ; vers la droite, il divise par \(2^k\) en abandonnant le reste — un décalage à droite de 1 position appliqué à 1011 (11) donne 101 (5), et non 22.
La division binaire donne-t-elle un résultat fractionnaire ?
Non : cette calculatrice effectue une division entière avec reste, comme les opérateurs / et % en JavaScript, C ou Java. Le quotient est tronqué vers zéro et le reste vérifie A = B × Q + R, le reste prenant le signe du dividende. La division par zéro est refusée et provoque une erreur, car elle n'a pas de quotient défini.