四進数(基数4)変換
27は四進数で123です。四進数の1桁(0から3)はちょうど2ビット分なので、DNAの4つの文字や2ビットの符号とよくなじみます。整数を十進数から四進数へ、また逆へ変換でき、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 値
- 27
- 方向
- To quaternary
- 結果
- 123
- 10進数
- 27
- 4進数
- 123
- アルファベット
- 0123
クオータナリ変換器は、非負の整数を日常の10進と基数4の間で書き直します。4進は桁がゼロ・一・二・三だけの位置記数法です。各4進桁はちょうど2ビットを包むため、DNA風の4文字アルファベット、2ビット画素チャネル、4記号だけで足りる状態機械への自然な橋渡しになります。方向(10進→4進、または4進→10進)を選び、値を貼り付けると、整形済みの10進整数、4進桁列、桁数、固定アルファベットを含む決定的な結果が返ります。ゼロから三以外の文字は、黙って誤った答えを出す代わりに、明確な不正入力エラーで失敗します。
4進(クオータナリ)の符号化と復号の仕組み
クオータナリは基数4の位置記数法です。各位は4の累乗であり、10進の各位が10の累乗であるのと同じです。一の位は4の0乗、次の位は4、その次は16、64、256と続きます。
桁記号はゼロ・一・二・三の4つだけで、それ以外はありません。値が2ビットに収まるとき、この小さなアルファベットがちょうど必要です。二進の00は0、01は1、10は2、11は3に対応するため、長いビット列は奇数長のビット列で任意の先頭ゼロを付ける程度の調整だけで4進桁に再グループ化できます。
非負の10進整数を符号化するときは、4で繰り返し割り、各余りを次の最下位桁として記録し、それらの余りを逆順にして通常の左から右の文字列を得ます(ゼロ自体を除き先頭ゼロは付けません)。復号では文字列を左から右に走査し、累計に4を掛けて次の桁を足す——古典的なホーナー法です。
任意の0qまたは0Q接頭辞は、二進ツールが0bを受け付けるのと同様に取り除かれ、スクリプトが4進リテラルを明確にタグ付けできます。空白、プラス記号、4以上の桁、文字、句読点などの不正な文字は、不正入力として失敗し、悪い文字とその位置を示します。
アルゴリズムは厳密な整数演算のみを使い、浮動小数の丸め、乱数シード、壁時計、ネットワーク呼び出しは一切ありません。結果の直列化で各桁が厳密に保たれるよう、値はJavaScriptの安全な整数範囲内に留める必要があります。負の入力は意図的に拒否されます。
4進アルファベットに符号桁はなく、符号付き4進は別の規約です。2から36までの任意基数が必要な場合は、一般的な基数変換器が担う別の検索意図であり、この4進専用ランディングの役割ではありません。
実務で4進変換が使われる場面
バイオインフォマティクスの教材や符号化理論の授業では、DNAの4ヌクレオチドが2ビット符号、ひいては4進桁にきれいに対応するため基数4を導入します。
コンピュータグラフィックスや組込みファームウェアでは、パレット索引、ディザフラグ、4モードの状態機械などチャネルあたり2ビットのデータを詰めることがあり、技術者は言語ごとに divmod を手書きせず、それらの桁列を整数に変える決定的なオラクルを必要とします。
多基数表示コンポーネントの単体テストを書く技術者は期待される4進文字列を生成し、10進↔4進の往復一致を検証します。ゲームデザイナーは4状態のルーン、インベントリ、異星の記数法を考案し、設定ツールやセーブ形式のために決定的な変換を必要とします。
36までの一般多基数表、純粋な二進や十六進のダンプ、Base64バイト符号化は別の検索意図としてそれぞれのランディングに任せ、この整数4進変換器を正直な範囲を超えて伸ばさないでください。
活用例
DNA風2ビット指導マップ
A/C/G/T の練習を桁0–3に対応付け、ハッシュデモ用に4進文字列を10進へ変換し、共有オラクルで解答キーを確認します。
2ビット画素・状態のパッキング
パレット索引や4モードフラグを4進桁列として符号化し、単体テストやファームウェア用フィクスチャで整数に復号します。
教室での4進位取り練習
宿題の整数を10進と4進の間で変換し、ワークシートと自動採点が各余りとホーナー手順で一致するようにします。
よくある質問
この4進変換器はどのアルファベットを使いますか?
0、1、2、3 の4文字だけです。文字桁はありません。 入力では任意の0qまたは0Q接頭辞を受け付け、変換前に取り除きます。
不正な4進桁のときはどうなりますか?
メッセージは悪い文字とその位置を示します。任意の0q接頭辞の後は桁0–3のみ許可され、空白・句読点・文字・桁4–9は拒否されます。
一般的な基数変換器や二進と同じですか?
いいえ。 一般的な基数ツールは A–Z の文字桁で基数2–36を扱い、二進は0と1だけの基数2です。本ページはDNA風・2ビットパッキングの検索意図向けの4進専用です。
十進数を手で四進数に変換するにはどうしますか?
4で割り続け、そのたびの余り(0、1、2、3のどれか)を書き留めます。余りを最後から順に読むと、27は123になります。27は16が1つ、4が2つ、1が3つだからです。
負の数も四進数に変換できますか?
できません。四進数の字母には符号を表す数字がないため、負の数はあえて拒否します。小数や指数表記も受け付けず、値は9007199254740991までの範囲に収める必要があります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/base-quaternary \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"27","direction":"to_quaternary"}'const res = await fetch("https://api.kit.forhosting.com/enc/base-quaternary", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "27",
"direction": "to_quaternary"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/base-quaternary",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "27",
"direction": "to_quaternary"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/base-quaternary", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"27","direction":"to_quaternary"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"27","direction":"to_quaternary"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/base-quaternary", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"value": "27",
"direction": "to_quaternary"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base_quaternary",
"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は同一の純粋な同型関数を共有するため、教室デモ、符号化ワークシート、自動パイプラインが同じ入力で食い違うことはありません。成功したAPI呼び出しの料金は公開ベースの$0.002(1件あたり)です。
4進(クオータナリ)の符号化と復号の仕組み
同じ入力は常に同じJSONを生成します。
送信内容と返り値
フォームやスクリプトがUIに合う名前を使えるよう、別名も受け付けます。絶対値が Number.MAX_SAFE_INTEGER を超える10進値は、下位桁が静かに失われないよう拒否されます。古典的な確認例として、二十七は4進で一二三、十六は一〇〇に符号化され、三二一を復号すると五十七になります。必須フィールドは value と direction の2つです。value が非負の10進整数のときは direction を to_quaternary、value が4進文字列のときは from_quaternary にします。value は n、number、input、text、decimal、quaternary、base4 も可。direction は dir、mode、op、さらに to、from、encode、decode、to_base4、from_base4、decimal_to_quaternary、quaternary_to_decimal などの短い同義語も可。to_quaternary では value は JSON 整数、または先頭に任意のプラスが付いた桁列でよく、分数、科学記数法、裸の語、NaN、Infinity、負数は invalid_input で失敗し課金されません。from_quaternary では任意の0q接頭辞の後、各文字がゼロ・一・二・三のいずれかでなければならず、四・五・アンダースコア・ハイフン・空白を含むそれ以外は、不正な4進桁とその0始まり位置を示すメッセージで失敗します。成功時の応答は、整形済み value 文字列、正規化済み direction、数値の decimal、コンパクトな4進文字列の quaternary、主たる変換形の result(符号化時は4進、復号時は10進文字列)、アルファベット文字列 0123、base は4、4進表現の digit_count をエコーします。成功したAPI呼び出しの料金は公開ベースの$0.002(1件あたり)で、検証失敗はプリペイド残高を消費しません。
実務で4進変換が使われる場面
よくある指導用マップは A=0、C=1、G=2、T=3 で、短いオリゴはコンパクトな4進文字列になり、学習者はハッシュデモやパズル鍵のために10進へ変換できます。本機能は純粋な parse エンジンのため、API料金は成功1件あたり公開ベースの$0.002で、検証失敗は残高を消費しません。
技術的な質問
方向はどのように選びますか?
value が非負の10進整数で4進文字列が欲しいときは to_quaternary を使います。value がすでに4進で10進整数が欲しいときは from_quaternary を使います。
料金はいくらですか?
ブラウザツールは無料でローカル実行です。APIリクエストは成功1件あたり$0.002のプリペイドKIT残高を使い、不正入力は課金されません。