Calculadora de multiplicação longa
Multiplique dois números inteiros do jeito da escola e veja cada produto parcial: 123 vezes 45 dá as linhas 615 e 4920, que somam 5535. Números de até 256 dígitos continuam exatos. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Multiplicando
- 123
- Multiplicador
- 45
- Produto
- 5535
- Quantidade de produtos parciais
- 2
A multiplicação longa é o método em colunas ensinado em todo curso de aritmética: escreva dois números inteiros, multiplique o de cima por cada dígito do de baixo da direita para a esquerda, desloque cada produto parcial uma casa a mais à esquerda e some essas linhas para obter o produto. Esta calculadora recebe o multiplicando e o multiplicador como strings decimais para que os operandos possam ser bem maiores que um tipo inteiro nativo; aplica exatamente esse percurso de livro e devolve o produto e cada produto parcial como strings. Zeros à esquerda são removidos.
O que é a multiplicação longa e como funcionam os produtos parciais
A multiplicação longa é o algoritmo escrito que produz o produto de dois números inteiros não negativos, uma casa decimal de cada vez. Escreva o multiplicando acima do multiplicador, alinhando unidades, dezenas, centenas e cada ordem superior. Começando pelo dígito das unidades do multiplicador, multiplique o multiplicando inteiro por esse único dígito, transportando as dezenas para a coluna seguinte exatamente como em um problema de tabuada de um dígito.
Essa linha é um produto parcial. Depois avance um dígito à esquerda no multiplicador, multiplique o multiplicando de novo e escreva o novo produto parcial deslocado uma casa a mais à esquerda, porque esse dígito vale dez vezes mais. Cada dígito seguinte do multiplicador desloca a sua linha mais uma casa.
Depois que cada dígito do multiplicador produziu uma linha, some os produtos parciais coluna a coluna, com transporte quando uma coluna somar dez ou mais, e a soma é o produto dos números originais. Um dígito zero no multiplicador produz uma linha de zeros; ela ainda é registrada para que a casa de cada linha posterior continue honesta. O método é determinístico, funciona para qualquer comprimento de string decimal e é o mesmo procedimento impresso nos livros do ensino fundamental.
Esta calculadora implementa esse percurso sobre caracteres de dígito, e não sobre um inteiro nativo da linguagem, então um número com dezenas ou centenas de dígitos é tratado como um exemplo de sala com dois dígitos. A resposta lista cada produto parcial com o dígito do multiplicador e a casa — a potência de dez — que o produziu, o que ajuda quando se revisa o esquema de um aluno coluna a coluna em vez de comparar só a resposta final.
Contrato de entrada, o percurso dos dígitos e o comportamento de erro
Cada campo é uma string de dígitos decimais; zeros à esquerda são permitidos e depois removidos, de modo que sete e zero-zero-sete se comparam como o mesmo número. Depois de canonizar os dois operandos, o motor percorre o multiplicador das unidades até a ordem mais alta. Para cada dígito, multiplica o multiplicando por esse dígito, acrescenta tantos zeros quanto a casa atual, guarda essa linha como produto parcial e soma a linha a um total acumulado.
Um dígito zero ainda emite um parcial zero, de modo que o comprimento do array é sempre igual ao número de dígitos do multiplicador canônico. Exemplo: cento e vinte e três vezes quarenta e cinco produz unshifted seiscentos e quinze e quatrocentos e noventa e dois, parciais seiscentos e quinze e quatro mil novecentos e vinte, e produto cinco mil quinhentos e trinta e cinco.
Onde a multiplicação longa ajuda
Salas de aula e plataformas de tutoria usam uma calculadora de multiplicação longa para que aprendizes verifiquem um esquema manuscrito em colunas sem que o professor refaça cada transporte e cada linha deslocada à mão. Geradores de prova e sistemas de gestão de aprendizagem precisam de um oráculo determinístico que marque um operando negativo ou não inteiro como inválido, em vez de arredondar em silêncio um decimal ou de descartar um sinal que um corretor defeituoso poderia tratar como acerto.
Scripts de contabilidade e estoque que já guardam quantidades como strings decimais — totais de linha de fatura, contagens de volumes, totais de série — podem multiplicar sem converter por um tipo de ponto flutuante que arredondaria além de quinze algarismos significativos. A validação falha não consome saldo.
Mantenha cada operando dentro do teto de dígitos publicado, fixe nos testes a string de produto e o array de produtos parciais e você terá multiplicação exata e reproduzível para lição de casa, plugins LMS e workers de borda, sem montar um sistema de álgebra computacional nem uma biblioteca própria de inteiros grandes.
Casos de uso
Checagens de sala e lição de casa
Deixe que os alunos enviem um multiplicando e um multiplicador e verifiquem o produto exato e cada produto parcial deslocado, de acordo com o algoritmo no papel.
Aritmética exata com strings em scripts
Multiplique contagens de estoque, quantidades de fatura ou outros valores em string decimal que podem ultrapassar o limite de inteiro seguro, sem arredondamento em ponto flutuante.
Perguntas frequentes
Como multiplico dois números inteiros com esta calculadora de multiplicação longa?
Envie o multiplicando e o multiplicador como strings de dígitos decimais.
O que acontece se uma entrada for negativa ou não for um número inteiro?
Esta calculadora cobre apenas inteiros não negativos, então um sinal de menos, um ponto decimal ou qualquer caractere que não seja dígito é rejeitado, e a chamada falha não é cobrada.
De que tamanho podem ser os números?
Cada operando pode ter no máximo 256 dígitos decimais. Envie os valores como strings para que os dígitos além do limite de inteiro seguro da linguagem continuem exatos; zeros à esquerda são removidos antes da multiplicação.
O que é um produto parcial?
É o multiplicando inteiro multiplicado por um único dígito do multiplicador e deslocado para a esquerda conforme a posição desse dígito. Somando todos os produtos parciais em coluna, você chega ao resultado, e cada linha aparece para conferência.
Por que cada linha anda uma casa para a esquerda?
Porque cada dígito mais à esquerda no multiplicador vale dez vezes o anterior. Deslocar a linha uma casa é o mesmo que multiplicá-la por dez, e é assim que 492 vira 4920.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/math/long-multiplication \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"multiplicand":"123","multiplier":"45"}'const res = await fetch("https://api.kit.forhosting.com/math/long-multiplication", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"multiplicand": "123",
"multiplier": "45"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/long-multiplication",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"multiplicand": "123",
"multiplier": "45"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/long-multiplication", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"multiplicand":"123","multiplier":"45"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"multiplicand":"123","multiplier":"45"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/long-multiplication", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"multiplicand": "123",
"multiplier": "45"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.long_multiplication",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_digits | 256 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Se qualquer entrada não for um inteiro não negativo, a requisição falha com invalid_input em vez de arredondar ou inventar um resultado.
Contrato de entrada, o percurso dos dígitos e o comportamento de erro
Envie por POST um corpo JSON com dois campos obrigatórios: multiplicand, o inteiro não negativo que se multiplica, e multiplier, o inteiro não negativo pelo qual se multiplica. Por conveniência aceitam-se inteiros JSON e strings numéricas, mas valores que precisem permanecer exatos além do limite de inteiro seguro de cinquenta e três bits devem sempre ser enviados como strings. Campos ausentes, strings vazias, sinais de menos, pontos decimais, separadores de milhar, letras e strings com mais de duzentos e cinquenta e seis dígitos falham com invalid_input nomeando o campo, e essas falhas não são cobradas. Em caso de sucesso o corpo devolve multiplicand, multiplier, product, partial_count e partial_products, em que cada entrada tem digit, place, unshifted (o produto antes do deslocamento de casa) e partial (a parcela realmente somada).
Onde uma API de multiplicação longa justifica o seu lugar
Como a implementação é parse de nível A, cada chamada bem-sucedida custa o preço-base publicado US$ 0,002, sem tokens de modelo e sem rede de saída.
Casos de integração
Correção automática de provas e LMS
Corrija itens de multiplicação longa com um oráculo determinístico que rejeita um operando negativo ou não inteiro com invalid_input e nunca arredonda um decimal em silêncio.
Perguntas técnicas
A calculadora mostra os produtos parciais de cada dígito?
Sim. A resposta inclui partial_products, uma entrada por dígito do multiplicador, com o dígito, a casa (0 para unidades, 1 para dezenas, e assim por diante), a linha sem deslocamento e o parcial deslocado que é somado. partial_count é o comprimento desse array.
Quanto custa a calculadora de multiplicação longa?
A ferramenta do navegador é gratuita. Requisições API usam saldo pré-pago de KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.