2進数から16進数への変換ツール
2進数の1010は16進数でAです。4ビットごとに16進数1文字へまとめるので、長い0と1の並びが短く読みやすい値になります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 2進数
- 1010
- 16進数
- A
- ビット数
- 4
- 基数(16)
- 16
2進数から16進数へのコンバーターは、基数2のビット列を基数16に書き換え、4ビットごとを0からFまでのコンパクトな16進数字1桁に変換します。たとえば「いち・ぜろ・いち・ぜろ」と入力するとAが返されます。これは同じ整数を、2の累乗ではなく16の累乗の位取りで表したものです。学生の方はニブルへのグループ化や位取り表の宿題確認に、開発者の方はビットマスク、レジスタダンプ、プロトコルフラグ、カラーチャネルのパターンなど、0と1の長い並びより16進数のほうが見やすい情報の文書化にご利用いただけます。受け付けるのは0と1の数字のみです。文字、数値内の空白、句読点、その他の記号が含まれる場合は、誤った結果を黙って返すのではなく、明確な検証エラーで失敗します。先頭のゼロは正規化されるため、整形後の2進数とビット数は正確に保たれます。
2進数から16進数への変換の仕組み
まず、0と1の文字だけを使う有限の文字列から始めます。値がゼロの場合、整形後の2進数と16進数の結果はどちらも1桁のゼロとなり、これで完了です。正のビットパターンの場合は、冗長な先頭のゼロを取り除いてビット数が有効なビットを正しく反映するようにし、長さが4の倍数になるまで必要な分だけ左側をゼロで埋めます。
4ビットの各グループがニブルです。左から右へ読むと、この4つの位は8、4、2、1の重みを持ち、その合計は0から15までの整数になります。その整数を0から9とAからFの16進アルファベットに対応させます。
16進数字を連結すれば、「ゼロ・エックス」の接頭辞のない基数16の完全な文字列が得られます。256ビットを超える文字列は拒否され、ブラウザとWorkerでの処理量が一定の範囲に保たれます。
2、8、A、ビット列の途中の空白など、2進数字以外の文字はすべてエラーとなり、「2進数 16進数 変換」という検索意図が宿題の答え合わせや本番用のテストデータにとって信頼できるものに保たれます。
実務でこのツールが登場する場面
中等教育やコンピュータサイエンス入門の授業では、2進数4桁が16進数1桁に対応すると教えられます。整形後のビット列と16進数の値の両方を返す信頼できるオラクルがあれば、表計算の数式なしで解答作成や授業デモを迅速に進められます。
ネットワークやグラフィックスの技術者はビットマスク、権限フラグ、カラーチャネルを扱いますが、ダンプを眺めるときは1が8つ並ぶよりFFと書くほうが明確です。
コーディング面接の練習問題やオンラインジャッジでは2進数から16進数への変換の実装が求められ、講師は学生の出力を、ゼロ、2の累乗、15や255のようなニブル全体の境界ケースについて、正しいことが確認済みの大文字の文字列と比較します。オフラインのワークシートとオンラインの自動採点を一致させるためです。
10進数から2進数への変換、複数基数の対応表、固定幅の2の補数パッキングは、それぞれ独立した検索意図として専用ページで扱い、このビット列コンバーターを本来の範囲を超えて拡張しないでください。
活用例
宿題とニブルの練習
ビットを4つずつにグループ化し、各ニブルを0からFの16進数字に対応させる教科書の答え合わせに。ゼロやバイト全体のパターンにも対応しています。
レジスタダンプとビットマスクの文書化
プロトコルのメモ、権限テーブル、ハードウェアのリファレンスページを書く際に、フラグやレジスタの2進文字列をコンパクトな16進数に変換します。
よくある質問
2進数から16進数へのコンバーターはどのような入力を受け付けますか?
先頭・末尾の空白と任意の 0b 接頭辞は許可されますが、それ以外の文字は拒否されます。
16進数の結果はどのような形式ですか?
大文字の0〜9とA〜Fで、0x 接頭辞や先頭のゼロは付きません。ただし値がゼロ自体の場合は例外です(例: 1010 → A、11111111 → FF)。
2進数以外の文字を入力するとどうなりますか?
0と1以外の数字、英字、句読点、ビット列内の空白は受け付けられません。
長さの制限はありますか?
はい。 トリム後の2進文字列は最大256ビットまでです。ブラウザとWorkerでの変換処理を一定の範囲内に保つためです。
料金はいくらですか?
ブラウザのツールは無料で、ローカルで動作します。無効な入力は課金されません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fmt/binary-hex \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"binary":"1010"}'const res = await fetch("https://api.kit.forhosting.com/fmt/binary-hex", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"binary": "1010"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fmt/binary-hex",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"binary": "1010"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fmt/binary-hex", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"binary":"1010"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"binary":"1010"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fmt/binary-hex", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"binary": "1010"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fmt.binary_hex",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_bits | 256 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
API呼び出しが成功した場合の料金は、公開されている基本価格である1件あたり$0.002です。
2進数から16進数への変換の仕組み
両端の空白は取り除かれ、プログラミング言語でおなじみの「ゼロ・ビー」の接頭辞も省略可能ですが、残る文字はすべて2進数字である必要があり、そうでなければリクエストは失敗します。同じ整数は、2進数の位取りの和を評価して基数16に書き直す方法でも求められますが、ニブルへのグループ化は浮動小数点の丸め、乱数シード、時刻タイムスタンプ、ネットワーク呼び出しを一切伴わない正確な整数演算であるため、同じ入力からは常に同じJSONが生成されます。
送信する内容と返ってくる内容
引用符なしの数値で2進数字に見えるものは慎重に変換されますが、推奨かつ文書化された契約は数字の文字列です。例として、binary が「いち・ぜろ・いち・ぜろ」なら hex はAでビット数は4、「いち」が8つ並ぶ場合は hex がFFでビット数は8、binary がゼロなら hex もゼロでビット数は1です。検証失敗では前払い残高は消費されません。基数2から36までの任意の変換元・変換先を1回の呼び出しで扱う必要がある場合は、この2進数専用ページに負荷をかけるのではなく、汎用の基数変換ページをご利用ください。必須フィールド binary を1つだけ送信し、0と1の文字列を格納してください。別名として bits、value、n、input、text も受け付けるため、フォームやスクリプトはUIに合う名前を使えます。binary はJSON文字列にできます。binary の欠落、トリム後の空文字列、0と1以外の文字、256ビットを超える文字列は invalid_input で失敗し、課金されません。成功時のレスポンスは、整形後の2進文字列を binary に、大文字の16進文字列を hex に、有効ビット数を bits に、そして複数ツールのパイプラインで明示的になるよう基数16を意味する base を返します。API呼び出しが成功した場合の料金は、公開されている基本価格である1件あたり$0.002です。
実務でこのツールが登場する場面
ファームウェアや組み込みのメモでは、レジスタのフィールドが16進アドレスと並んで2進数で記載されることが多く、レビュアーはビットオフセットを一目で確認できます。この機能は純粋な parse エンジンであるため、APIの料金は公開されている基本価格である成功1件あたり$0.002で、検証に失敗しても残高は消費されません。
連携の活用例
面接・単体テスト用のテストデータ
2の累乗、すべて1のニブル、境界となる長さのビット列を網羅するコーディング練習や golden テストの期待値となる16進文字列を生成します。