Somar e subtrair frações
3/4 + 2/5 dá 23/20, ou 1 3/20 como número misto. Escolha somar ou subtrair, digite duas frações e receba o resultado exato na forma irredutível; se der negativo, o sinal fica sempre no numerador. 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
- Operação
- Adicionar imposto
- Primeiro numerador
- 1
- Denominador A
- 2
- Numerador B
- 1
- Denominador B
- 3
- Numerador
- 5
- Denominador
- 6
- Sinal
- 1
- Formato legível
- 5/6
Junto com a fração simplificada, você recebe o sinal, a forma de número misto quando o resultado não é inteiro e uma representação decimal, pronta para conferir lições de casa, ajustar receitas, fazer contas de medidas ou alimentar qualquer pipeline que trabalha com razões em vez de floats. Um denominador zero é rejeitado com um erro claro antes de qualquer cálculo.
Por que as frações ainda vencem os decimais
A aritmética decimal é cômoda até a precisão começar a importar. Um terço não é 0,333333; é exatamente 1/3, e no momento em que você arredonda, introduz um erro que se acumula a cada operação seguinte. Trabalhar diretamente com soma e subtração de frações mantém todos os valores exatos do início ao fim: o denominador comum é calculado com aritmética inteira, os numeradores são combinados e somente no final — se você pedir — uma aproximação decimal é gerada.
Essa ordem importa na educação, quando um aluno comparando 1/2 + 1/3 com 5/6 precisa da resposta exata, e importa tanto na engenharia quanto na cozinha, onde as quantidades chegam como razões de inteiros e convertê-las para floats só para somá-las joga fora informação que você tinha de graça. Você envia quatro inteiros e uma operação; recebe a soma ou a diferença exata, reduzida, com o sinal normalizado no numerador, para que o código seguinte nunca precise adivinhar onde está o sinal de menos.
Como funciona a simplificação
Todo resultado passa pelo mesmo pipeline de redução. Primeiro a operação é aplicada sobre um denominador comum: para A = a/b e B = c/d, a adição gera (a·d + c·b) / (b·d) e a subtração gera (a·d − c·b) / (b·d). Em seguida, o máximo divisor comum do numerador e do denominador resultantes é calculado com o algoritmo de Euclides e ambos são divididos por ele, o que garante a fração em termos mínimos — 4/8 volta como 1/2, nunca como 4/8.
Se o denominador carrega o sinal, ele é movido para o numerador, de modo que −1/2 é sempre reportado como numerador −1, denominador 2. Quando o denominador simplificado é 1, o resultado é um inteiro e a resposta diz isso explicitamente, omitindo os campos de número misto; caso contrário, você também recebe a parte inteira e a fração própria restante, que é a forma em que receitas e medidas de marcenaria costumam ser citadas.
O campo decimal é uma representação fixa de seis casas, feita para exibição, nunca para realimentar cálculos exatos. Tudo isso é matemática inteira pura: nenhum ponto flutuante entra na redução em nenhuma etapa, então a resposta é determinística e idêntica em cada chamada.
Casos de uso
Confira a lição passo a passo
Verifique que 3/4 + 2/5 é mesmo 23/20 e veja a forma mista 1 3/20 para a resposta final escrita.
Ajuste receitas sem arredondar
Combine medidas fracionárias de xícara com exatidão — 2/3 de xícara mais 1/4 é 11/12, não um decimal arredondado.
Valide pipelines de razões
Mantenha razões de engenharia ou financeiras exatas em cada soma e subtração, convertendo para decimal só na exibição.
Perguntas frequentes
Quanto custa?
Também é grátis executar no seu navegador nesta página.
O resultado é sempre simplificado?
Sim. O numerador e o denominador são divididos pelo máximo divisor comum, então a fração sempre volta em termos mínimos.
Posso usar frações negativas?
Sim. Numeradores e denominadores negativos são aceitos; o sinal é sempre normalizado no numerador do resultado.
Como o valor decimal é calculado?
É uma representação de seis casas decimais da fração exata, feita apenas para exibição — a fração em si é a resposta exata.
Como subtrair frações com denominadores diferentes?
As duas frações passam para um denominador comum, o produto dos dois denominadores, e o segundo numerador ajustado é subtraído do primeiro. Depois o resultado é dividido pelo máximo divisor comum, então sempre sai simplificado.
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/adding-and-subtracting-fractions \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"operation":"add","a_num":1,"a_den":2,"b_num":1,"b_den":3}'const res = await fetch("https://api.kit.forhosting.com/math/adding-and-subtracting-fractions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"operation": "add",
"a_num": 1,
"a_den": 2,
"b_num": 1,
"b_den": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/adding-and-subtracting-fractions",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"operation": "add",
"a_num": 1,
"a_den": 2,
"b_num": 1,
"b_den": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/adding-and-subtracting-fractions", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"operation":"add","a_num":1,"a_den":2,"b_num":1,"b_den":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"operation":"add","a_num":1,"a_den":2,"b_num":1,"b_den":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/adding-and-subtracting-fractions", 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
{
"operation": "add",
"a_num": 1,
"a_den": 2,
"b_num": 1,
"b_den": 3
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.adding_and_subtracting_fractions",
"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.
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
A API de soma e subtração de frações recebe os numeradores e denominadores de duas frações, aplica a operação que você escolher — adição ou subtração — e devolve o resultado já reduzido aos termos mínimos.
Por que as frações ainda vencem os decimais
Este endpoint trata a fração como a unidade nativa de trabalho.
Validação, erros e cobrança justa
Numeradores e denominadores negativos são totalmente aceitos, então subtrair uma fração maior de uma menor simplesmente produz um resultado negativo correto. O endpoint falha rápido e falha barato. Antes de qualquer aritmética, cada campo é verificado: a operação deve ser exatamente 'add' ou 'subtract', cada numerador e denominador deve ser um inteiro — enviado como número JSON ou como string inteira simples como "−3" ou "7" — e nenhum denominador pode ser zero. O denominador zero é a clássica armadilha da divisão por zero e, em vez de devolver um infinito ou um NaN silencioso que envenenaria um pipeline posterior, a API rejeita a requisição com um erro invalid_input que aponta o campo problemático. Como o erro é classificado como engano do cliente, a requisição não é cobrada: você só paga por respostas, a US$ 0,002 por chamada. O mesmo código que roda na API roda de graça no seu navegador nesta página, então você pode conferir qualquer cálculo à mão antes de integrá-lo a um fluxo automatizado, e a versão do navegador aplica validação idêntica, ou seja, não há surpresas ao sair dos testes para a produção.
Perguntas técnicas
O que acontece se um denominador for zero?
A requisição é rejeitada com um erro invalid_input indicando o campo, e não é cobrada.
Recebo um número misto de volta?
Sempre que o resultado simplificado não for inteiro, a resposta inclui mixed_whole, mixed_num e mixed_den com a forma de número misto.