Moltiplicazione binaria
Questo calcolatore di moltiplicazione binaria moltiplica due interi senza segno in base 2 e mostra come viene costruita la risposta.
Esegui gratis nel browser
Per ogni bit del moltiplicatore sposta il moltiplicando nella posizione corretta, indica se la riga deve essere sommata o ignorata e riporta l'accumulatore dopo il passaggio. La risposta comprende operandi normalizzati, tutti i prodotti parziali, il prodotto binario finale e un'equazione compatta. Poiché il calcolo usa stringhe binarie invece di numeri in virgola mobile, il risultato rimane esatto anche per input molto più lunghi dei normali interi di macchina.
Inserisca due interi binari e legga il risultato
Fornisca moltiplicando e moltiplicatore come stringhe composte esclusivamente da 0 e 1. Può aggiungere il prefisso 0b a ciascun operando; gli zeri iniziali non significativi vengono rimossi prima della visualizzazione. Entrambi i valori sono trattati come interi senza segno, quindi segni, punti decimali, separatori e spazi interni vengono rifiutati anziché interpretati in modo ambiguo. La risposta inizia con gli operandi normalizzati e termina con prodotto, equazione e metodo. Tra questi elementi compare l'elenco partial_products, ordinato dal bit meno significativo del moltiplicatore a quello più significativo. Ogni riga registra posizione e valore del bit, moltiplicando spostato, operazione di somma o esclusione, prodotto parziale e accumulatore successivo. L'output offre quindi sia una risposta immediata sia una spiegazione verificabile del procedimento.
Comprenda i prodotti parziali con scorrimento e somma
La moltiplicazione binaria in colonna è lineare perché ogni cifra del moltiplicatore può essere soltanto zero oppure uno. Alla posizione zero il moltiplicando non cambia. Alla posizione uno viene spostato a sinistra aggiungendo uno zero, quindi il suo valore raddoppia. La posizione due aggiunge due zeri e moltiplica per quattro; lo schema continua per le posizioni superiori. Se il bit corrente è uno, il valore spostato diventa un prodotto parziale e viene sommato all'accumulatore. Se è zero, la riga contribuisce zero ed è indicata come esclusa. La riga resta comunque visibile per conservare l'allineamento. L'addizione binaria procede da destra a sinistra con riporto, senza conversioni decimali o approssimazioni. La sequenza degli accumulatori mostra l'intero algoritmo e consente di individuare con precisione la prima divergenza.
Utilizzi calcoli esatti nella didattica e nei sistemi
L'output strutturato è adatto a diversi contesti. In una lezione di logica digitale, le righe collegano la notazione posizionale ai registri a scorrimento, ai sommatori e alle decisioni di controllo di un semplice moltiplicatore. Negli esercizi di programmazione forniscono valori di riferimento per verificare una routine bit per bit senza nascondere il procedimento dietro un unico prodotto. Durante il debug, l'accumulatore aiuta a trovare uno scorrimento errato: confronti le righe fino alla prima differenza e controlli quella posizione. Gli input sono limitati per mantenere prevedibile la dimensione della risposta, poiché ogni bit genera una riga, ma l'aritmetica resta esatta e deterministica. Può usare gratuitamente il calcolatore nel browser oppure chiamare l'API a $0.002 per richiesta per creare esercizi, convalidare emulatori o controllare vettori HDL.
Casi d'uso
Insegnare la moltiplicazione binaria in colonna
Mostri come ogni bit seleziona un prodotto parziale spostato e modifica la somma accumulata.
Verificare esercizi di logica digitale
Confronti le righe previste con un moltiplicatore hardware, un emulatore o una simulazione HDL.
Testare codice aritmetico esatto
Generi prodotti e accumulatori deterministici per test unitari di implementazioni binarie.
Domande frequenti
Quale formato di input è accettato?
Usi stringhe senza segno contenenti soltanto 0 e 1. Il prefisso 0b è facoltativo, mentre segni, spazi interni e punti frazionari non sono ammessi.
Perché vengono incluse le righe dei bit zero?
Un bit zero non aggiunge valore, ma la relativa riga conserva l'allineamento e spiega perché il valore spostato è stato escluso.
Il calcolatore converte prima in numeri decimali?
No. Somma direttamente stringhe binarie, evitando perdite di precisione dovute alla virgola mobile.
In quale direzione sono elencati i prodotti parziali?
Partono dalla posizione zero, il bit meno significativo a destra, e avanzano verso le posizioni superiori a sinistra.
Quanto costa un calcolo tramite API?
Ogni richiesta API costa $0.002. La versione interattiva può essere eseguita localmente nel browser senza chiamare l'API.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"multiplicand": "1011",
"multiplier": "110"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.binary_multiplication",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_bits | 512 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |