Multiplication binaire
Ce calculateur de multiplication binaire multiplie deux entiers non signés en base 2 et montre la construction du résultat.
Lancer gratuitement
Pour chaque bit du multiplicateur, il décale le multiplicande à la bonne position, indique si la ligne est ajoutée ou ignorée, puis affiche l'accumulateur obtenu. La réponse contient les opérandes normalisés, tous les produits partiels, le produit binaire final et une équation concise. Le calcul repose sur des chaînes binaires plutôt que sur des nombres à virgule flottante : il reste donc exact même lorsque les entrées dépassent largement la taille des entiers machine ordinaires.
Saisissez deux entiers binaires et lisez le résultat
Indiquez le multiplicande et le multiplicateur sous forme de chaînes composées uniquement de 0 et de 1. Vous pouvez placer le préfixe 0b devant chaque opérande ; les zéros initiaux inutiles sont retirés avant l'affichage. Les deux valeurs sont interprétées comme des entiers non signés. Les signes, points décimaux, séparateurs et espaces internes sont donc refusés au lieu d'être interprétés arbitrairement. La réponse commence par les opérandes normalisés et se termine par le produit, l'équation et la méthode. Entre les deux figure la liste partial_products, classée du bit de poids faible au bit de poids fort du multiplicateur. Chaque ligne précise la position et la valeur du bit, le multiplicande décalé, l'opération, le produit partiel et l'accumulateur après l'étape. Vous disposez ainsi d'un résultat rapide et d'une explication contrôlable.
Comprenez les produits partiels par décalage et addition
La multiplication binaire posée est simple, car chaque chiffre du multiplicateur vaut zéro ou un. À la position zéro, le multiplicande reste inchangé. À la position un, un décalage vers la gauche ajoute un zéro et double sa valeur. La position deux ajoute deux zéros et multiplie par quatre ; le principe se poursuit aux positions suivantes. Si le bit courant vaut un, la valeur décalée devient un produit partiel ajouté à l'accumulateur. S'il vaut zéro, la ligne apporte zéro et est marquée comme ignorée. Elle reste néanmoins visible afin de conserver l'alignement et de signaler toutes les positions nulles. L'addition binaire s'effectue de droite à gauche avec retenue, sans conversion décimale ni approximation. La suite des accumulateurs expose ainsi l'algorithme complet et permet de repérer exactement une divergence.
Exploitez un calcul exact dans les cours et les systèmes
La sortie structurée répond à plusieurs usages. Dans un cours de logique numérique, les lignes relient la notation positionnelle aux registres à décalage, additionneurs et décisions de commande d'un multiplicateur simple. Pour un exercice de programmation, elles fournissent des références permettant de tester une routine bit à bit sans masquer le raisonnement derrière un produit unique. En phase de débogage, l'accumulateur aide à trouver un décalage erroné : comparez les lignes jusqu'à la première différence, puis examinez cette position. Les entrées sont limitées pour garantir une réponse de taille prévisible, puisqu'un bit produit une ligne, mais l'arithmétique reste exacte et déterministe. Utilisez gratuitement le calculateur du navigateur ou appelez l'API pour $0.002 par requête afin de produire des exercices, valider un émulateur ou contrôler des vecteurs HDL.
Cas d’usage
Enseigner la multiplication binaire posée
Montrez comment chaque bit sélectionne un produit partiel décalé et modifie la somme cumulée.
Vérifier des exercices de logique numérique
Comparez les lignes attendues à celles d'un circuit multiplicateur, d'un émulateur ou d'une simulation HDL.
Tester du code arithmétique exact
Produisez des résultats et accumulateurs déterministes pour les tests unitaires d'implémentations binaires.
Questions fréquentes
Quel format d'entrée est accepté ?
Utilisez des chaînes non signées composées uniquement de 0 et de 1. Le préfixe 0b est facultatif, mais les signes, espaces internes et fractions sont refusés.
Pourquoi afficher les lignes correspondant à un bit nul ?
Un bit nul n'ajoute aucune valeur, mais sa ligne préserve l'alignement et explique pourquoi le multiplicande décalé a été ignoré.
Le calculateur passe-t-il par des nombres décimaux ?
Non. Il additionne directement des chaînes binaires et évite ainsi toute perte de précision liée à la virgule flottante.
Dans quel ordre les produits partiels apparaissent-ils ?
Ils partent de la position zéro, le bit de poids faible situé à droite, puis avancent vers les positions supérieures à gauche.
Quel est le coût d'un calcul par API ?
Chaque requête API coûte $0.002. La version interactive s'exécute localement dans le navigateur sans appel à l'API.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/elec/binary-multiplication \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"multiplicand":"1011","multiplier":"110"}'const res = await fetch("https://api.kit.forhosting.com/elec/binary-multiplication", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"multiplicand": "1011",
"multiplier": "110"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/binary-multiplication",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"multiplicand": "1011",
"multiplier": "110"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/binary-multiplication", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"multiplicand":"1011","multiplier":"110"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"multiplicand":"1011","multiplier":"110"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/binary-multiplication", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"multiplicand": "1011",
"multiplier": "110"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.binary_multiplication",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_bits | 512 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |