分数指数計算機
8の2/3乗は4です。8の立方根が2で、2の2乗が4になるからです。底と分数の分子・分母を整数で入力すると、分数を約分してから計算するので、(−8)の2/6乗も実数の答えになります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 底
- 8
- 分子
- 2
- 分母
- 3
- 結果
- 4
- 指数
- 0.6666666667
底・分子・分母を送信すると、底の「分子/分母」乗の正確な実数結果を返します。単純なべき乗関数とは異なり、計算の前にまず有理数の領域で分数を約分するため、負の底も正しく処理されます。約分後の分母が奇数なら実数の奇数乗根を返し、偶数ならNaNを黙って返すのではなく、明確な入力エラーとして拒否します。
分数指数が本当に意味すること
分数指数は、学生が通常別々に学ぶ2つの演算、べき乗と根を組み合わせたものです。x^(p/q)と書くことは、xのq乗根を取ってそれをp乗すること、あるいは同じことですが、先にxをp乗してからq乗根を取ることを意味します。分数指数計算機はまさにこの構造、つまり底・分子・分母を受け取り、1つの実数を返します。
1/3は0.3333333333333333になることなく、正確に1/3のままです。これは正確性のためだけでなく、そもそも実数の答えが存在するかどうかを判定するためにも重要です。分数指数は実務に頻繁に現れます。
期間の一部にわたる複利成長、分散を標準偏差に変換する平方根、アロメトリー則における3分の2乗、代数の宿題に出てくるあらゆる根号式などです。これらはすべて同じ呼び出しに帰着します。底を送り、2つの整数を送れば、決定論的な数値が1つ返ってきます。
負の底と分母の偶奇
分数べきの微妙な部分は、ゼロより下で何が起こるかです。負の数には実数の立方根があります(-8の立方根は-2です)が、実数の平方根はありません。実数の結果が存在するかどうかは、分数を約分した後の分母の偶奇に依存します。(-8)^(2/6)は実際には(-8)^(1/3)なので定義されますが、(-4)^(1/2)は定義されません。
浮動小数点のMath.pow呼び出しでは、どちらの場合も単にNaNが返され、「未定義」と「マイナス2」の違いが隠れてしまいます。分子の符号も同じ慎重さで処理されます。約分後の分母が奇数の場合、約分後の分子が偶数なら正の大きさ、奇数なら負の結果になるため、(-8)^(2/3)は-4ではなく正しく4を返します。
約分を偶奇判定の前に行うのは、約分前の偶数の分母が実は奇数の化けた姿である可能性があるためです。2/6は偶数に見えますが実は1/3であり、負の数の3分の1は完全に実数の立方根です。
活用例
有理数のべきを正確に評価
8^(2/3)、32^(3/5)、0.25^(-1/2)を分子と分母から計算し、小数への丸めで分数を失いません。
負の数の実数根を求める
負の底に対して一般的なべき乗関数が返すNaNではなく、-27の実数の立方根として-3を取得します。
よくある質問
底は負でもよいですか?
約分後の分母が奇数の場合は可能です。(-8)^(1/3)は-2を返します。
出力は決定論的ですか?
はい。 結果は有効数字12桁に丸められ、乱数・タイムスタンプ・ネットワーク呼び出しを含まないため、同一の入力は常に同一の出力を返します。
分数乗とはどういう意味ですか?
xのp/q乗は、xのq乗根をとってからp乗することです。先にp乗してからq乗根をとっても同じ値になります。たとえば8の2/3乗は、立方根の2を2乗して4です。
なぜ分数を約分してから計算するのですか?
約分しないと、実数の答えがあるかどうかを正しく判断できないためです。2/6は分母が偶数に見えますが1/3と同じで、(−8)の1/3乗は実数の立方根になります。
(−8)の2/3乗が−4ではなく4になるのはなぜですか?
約分後の分母が奇数のとき、分子が偶数なら結果は正、奇数なら負になるためです。2/3は分子が偶数なので、立方根の−2を2乗して正の4になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/fractional-exponent \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"base":-8,"numerator":2,"denominator":3}'const res = await fetch("https://api.kit.forhosting.com/math/fractional-exponent", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"base": -8,
"numerator": 2,
"denominator": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/fractional-exponent",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"base": -8,
"numerator": 2,
"denominator": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/fractional-exponent", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"base":-8,"numerator":2,"denominator":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"base":-8,"numerator":2,"denominator":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/fractional-exponent", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"base": -8,
"numerator": 2,
"denominator": 3
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.fractional_exponent",
"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は、数を有理数のべきで評価します。
分数指数が本当に意味すること
3つの要素が個別の整数フィールドとして送られるため、小数の指数を浮動小数点として解釈する際の情報損失がありません。
負の底と分母の偶奇
このエンドポイントは評価の前に最大公約数で分数を約分し、その後で実数根の意味論を適用します。約分後の分母が奇数なら、正しい符号を持つ実数の奇数乗根を返し、偶数なら約分後の分数を明示した明確なinvalid_inputエラーを返します。
検証可能な決定論的な出力
底がゼロで指数が負の場合は、Infinityを返すのではなく未定義として拒否され、有限でない結果はすべて入力エラーとして報告されます。レスポンスには、実際に使用された約分後の分子と分母、小数の指数、そして有効数字12桁に丸められた結果が含まれます。そのため、同じ入力はどのマシンでも常にバイト単位で同一の出力を生成します。これにより、テストスイート、キャッシュキー、監査ログの中で安全に使用できます。同じ純粋なモジュールがこのページのブラウザ上で無料で動作するため、計算を対話的に確認でき、API経由で自動化する場合にのみ1リクエストあたり$0.002をお支払いいただきます。検証失敗はinvalid_inputとして報告されるため、不正なリクエストが課金されることはありません。クライアントは3つの小さな数値を送信し、1つの数値が返るか、どのフィールドがなぜ間違っていたかを正確に知ることができます。呼び出し間に状態はなく、ある顧客の入力が別の顧客に漏れるようなキャッシュもなく、レスポンス送信後に何も保存されません。
連携の活用例
未定義のべきを明示的に拒否
負の底が偶数の約分後分母と組み合わさった場合に、NaNを黙って伝播させる代わりに、明確なinvalid_inputエラーを受け取ります。
技術的な質問
料金はいくらですか?
1リクエストあたり$0.002です。同じ計算はこのページのブラウザ上でも無料で実行できます。
指数はどのように指定しますか?
分子と分母の2つの整数フィールドと、数値の底で指定します。1と3を送れば、指数は正確に3分の1になります。
底がゼロで指数が負の場合はどうなりますか?
未定義(ゼロ除算)のため、エンドポイントはInfinityではなくinvalid_inputエラーを返します。
計算前に分数は約分されますか?
はい。分子と分母は最大公約数で割られ、レスポンスには実際に使用された約分後の組が報告されます。