分数の足し算
1/2 + 1/3 はちょうど 5/6 で、0.833333 という小数は表示用の目安です。2つの分数を入力すると約分済みの和が分かり、整数でないときは帯分数の形でも示されます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 1つ目の分子
- 1
- 分母 A
- 2
- 分子 B
- 1
- 分母 B
- 3
- 分子
- 5
- 分母
- 6
- 符号
- 1
- 読みやすい形式
- 5/6
約分された分数に加えて、その符号、整数でない場合の帯分数表記、小数表現も得られるため、宿題の確認、レシピの分量調整、寸法計算、浮動小数点数ではなく比で扱うあらゆるパイプラインにそのまま使えます。分母がゼロの場合は、計算を行う前に明確なエラーで拒否されます。
小数ではなく分数のまま正確に足し算する理由
小数演算は精度が重要になるまでは便利です。3分の1は0.333333ではなく、正確には1/3です。丸めた瞬間に、その後のすべての演算で累積する誤差を持ち込んでしまいます。分数の足し算を直接行うことで、最初から最後まですべての値が正確に保たれます。
共通分母は整数演算で計算され、分子が結合され、最後に必要な場合にのみ小数の近似値が生成されます。この順序は教育現場で重要です。1/2 + 1/3を5/6と比較する生徒には正確な答えが必要です。
また、工学や料理でも同様に重要で、数量は整数の比として届き、足し算のためだけに浮動小数点数に変換すると、無料で持っていた情報を捨てることになります。4つの整数を送信すると、符号が分子に正規化された、約分済みの正確な和が返されるため、後続のコードがマイナス記号の位置を推測する必要はありません。
和が約分される仕組み
すべての結果は同じ約分プロセスを通ります。まず、共通分母で加算が適用されます。A = a/b、B = c/dの場合、和は(a·d + c·b) / (b·d)です。
次に、結果の分子と分母の最大公約数がユークリッドの互除法で計算され、両方がそれで割られるため、分数が既約であることが保証されます。2/4は2/4ではなく必ず1/2として返されます。分母が符号を持つ場合は分子に移されるため、−1/2は常に分子−1、分母2として報告されます。
活用例
宿題をステップごとに確認
3/4 + 2/5が本当に23/20であることを確認し、最終的な記述解答用に帯分数1 3/20を確認できます。
丸めずにレシピを分量調整
カップの分数計量を正確に組み合わせます。2/3カップに1/4カップを足すと11/12カップであり、丸めた小数の推測ではありません。
比のパイプラインを検証
工学や金融の比をすべての加算で正確に保ち、表示時にのみ小数に変換します。
よくある質問
和は常に約分されますか?
はい。 分子と分母は最大公約数で割られるため、分数は常に既約の形で返されます。
負の分数は使えますか?
はい。 負の分子と分母を受け付けます。結果では符号が常に分子に正規化されます。
小数値はどのように計算されますか?
正確な分数を小数6桁で表現したもので、表示専用です。分数自体が正確な答えです。
2/3カップと1/4カップを合わせるといくつですか?
ちょうど11/12カップで、丸めた小数ではありません。料理の分量は分数で表されることが多く、分数のまま足すので途中で精度が失われることはありません。
和が帯分数で表示されるのはどんなときですか?
約分した和が整数でないときです。3/4 + 2/5 は 23/20 で、帯分数の1と3/20も表示されます。和が整数になる場合は、帯分数ではなく整数として示されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/adding-fractions \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a_num":1,"a_den":2,"b_num":1,"b_den":3}'const res = await fetch("https://api.kit.forhosting.com/math/adding-fractions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"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-fractions",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"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-fractions", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a_num":1,"a_den":2,"b_num":1,"b_den":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a_num":1,"a_den":2,"b_num":1,"b_den":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/adding-fractions", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"a_num": 1,
"a_den": 2,
"b_num": 1,
"b_den": 3
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.adding_fractions",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
分数の足し算APIは、2つの分数の分子と分母を受け取り、正確な整数演算で加算し、既約分数に約分された和を返します。
小数ではなく分数のまま正確に足し算する理由
このエンドポイントは分数を本来の作業単位として扱います。
和が約分される仕組み
約分後の分母が1の場合、結果は整数であり、帯分数のフィールドを省略して応答が明示的にその旨を示します。それ以外の場合は、整数部分と残りの真分数も受け取ります。これはレシピや木工の寸法が通常引用される形式です。decimalフィールドは表示専用の固定6桁の表現であり、正確な計算に戻し入れるためのものではありません。これらはすべて純粋な整数演算であり、約分のどの段階にも浮動小数点は入らないため、答えは決定的で、すべての呼び出しで同一です。
検証、エラー、公正な課金
負の分子と分母は完全にサポートされているため、負の分数を足すと正しい符号の結果が得られます。このエンドポイントは速く、安く失敗します。計算の前にすべてのフィールドがチェックされます。各分子と分母は整数でなければならず、JSON数値または「−3」「7」のような単純な整数文字列として送信でき、どちらの分母もゼロにすることはできません。分母ゼロは典型的なゼロ除算の落とし穴であり、下流のパイプラインを害する無限大や静かなNaNを返す代わりに、APIは問題のフィールドを名指しするinvalid_inputエラーでリクエストを拒否します。このエラーはクライアントの誤りとして分類されるため、リクエストは課金されません。お支払いいただくのは回答に対してのみ、1呼び出しあたり$0.002です。APIで動作するのと同じコードがこのページのブラウザで無料で動作するため、自動化されたワークフローに組み込む前に手計算で検算でき、ブラウザ版は同一の検証を強制するため、テストから本番への移行で予期しないことは起きません。
技術的な質問
料金はいくらですか?
API経由で1リクエストあたり$0.002です。このページのブラウザでも無料で実行できます。
分母がゼロの場合はどうなりますか?
フィールド名を示すinvalid_inputエラーでリクエストが拒否され、課金されません。
帯分数は返されますか?
約分された和が整数でない場合は常に、応答にmixed_whole、mixed_num、mixed_denが帯分数形式で含まれます。