16進→2進変換
0xFFは2進数で11111111です。16進数の各桁はちょうど4ビットに対応するため、Fは1111になります。0xの有無にかかわらず貼り付けるだけで、短い2進数と4ビットずつそろえた表記の両方が得られます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 16進の値
- 0xFF
- 元の入力
- 0xFF
- 16進大文字
- FF
- 16進小文字
- ff
- 接頭辞付き
- 0xFF
16進から2進への変換は、基数16の桁文字列をビットマスク、ファームウェアダンプ、授業での位取り確認に必要な正確なビットパターンへ写します。FF、0xFF、deadbeef のような値を貼ると、ツールは各桁を検証し、任意の 0x または 0X 接頭辞を除き、各16進ニブルを4ビットに写し、メモやテストにコピーできる短い手順一覧付きで2進表現を返します。ネットワークなし、乱数シードなし、壁時計依存なし。
16進の意味と2進への対応
16進は基数16です。 各桁の位は16の累乗で、桁は0から9、続いて10から15を表す A から F です。2進は基数2で、各位は2の累乗、各桁は0か1だけです。16が2の4乗なので対応は特にきれいで、各16進桁はちょうど4ビット—1ニブル—を符号化します。
だからニブルごとに展開すると F は 1111、A は 1010、0 は 0000 に写ります。プログラマは桁だけの文字列が10進リテラルと誤認されないよう 0x 接頭辞を書きます。この変換は接頭辞がある場合に受け付け、桁が検証された後は素の文字列も同じ扱いです。
大文字小文字は問いません。a b c d e f とその大文字形は同一です。最小2進形は先頭ゼロを落とし(値ゼロ自体を除く)、埋め込み形は入力の16進桁ごとに4ビットを保ち、レジスタダンプがニブル境界で揃うようにします。
授業プリントや CPU マニュアルが16進を使うのは、1バイトが16進2桁、32ビット語が8桁だからです。手計算は数桁を超えると誤りやすいです。決定的なニブルと位取りの一通りは、短い入力では展開も見せつつそのリスクを除き、学習者がビット対応を監査できます。
任意接頭辞を除いた後に16進桁でない文字があれば、変換は無効な16進桁エラーで止まります。ごみを飛ばしたりビットを捏造する最善努力の解析はありません。
実務のコツ、上限、関連検索
値が数値に見えても文字列送信を優先してください。素の数は0から9の十進桁で書かれた非負整数のときだけ受け付け、小さなダンプ向けの便宜であり第二の基数ではありません。空白、カンマ、アンダースコア区切りを埋め込まないでください。
元がグループ化されたニブルを使うなら呼び出し前にクライアントで除いてください。16進64桁は256ビット整数を覆い、大半の広い機械語や切り詰めハッシュ表示に十分です。より長い列は黙って切らず拒否されます。
授業では例を対にしてください。元がすでに16進と分かっていてビット列だけが必要なときにこの能力を優先し、10進も要るなら第二段で対応する16進→10進ツールを呼んでください。
活用例
16進からビット対応の宿題確認
学習者はワークシートの短い16進リテラルを貼り、手書きニブル対応と最終2進を提出前に決定的な結果と照合します。
パーサとシリアライザの単体テスト
既知の16進→2進ペアと意図的な無効桁ケースを生成し、コーディングかたの期待値を言語横断で安定させます。
よくある質問
16進から2進への変換とは何ですか?
基数16の桁文字列を同等の基数2ビット列へ写します。16は2^4なので、各16進桁はちょうど4ビット(1ニブル)に展開します。
0x 接頭辞は必要ですか?
不要です。 接頭辞は任意です。FF も 0xFF も 11111111 に変換されます。
16進から2進への変換は無料ですか?
ブラウザツールは無料でローカル実行です。失敗タスクは課金されません。
なぜ16進数の各桁はちょうど4ビットになるのですか?
16は2の4乗なので、16進数の各桁は必ず4ビット(ニブル)を占めます。そのためFは1111、Aは1010、0は0000になります。
短い2進数と桁をそろえた2進数の違いは何ですか?
短い方は先頭のゼロを省きます(値がゼロの場合を除く)。そろえた方は入力した16進数の各桁に4ビットずつ割り当てるので、レジスタのダンプやビットマスクの位置がずれません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fmt/hex-binary \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hex":"0xFF"}'const res = await fetch("https://api.kit.forhosting.com/fmt/hex-binary", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hex": "0xFF"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fmt/hex-binary",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hex": "0xFF"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fmt/hex-binary", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hex":"0xFF"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hex":"0xFF"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fmt/hex-binary", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"hex": "0xFF"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fmt.hex_binary",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_hex_digits | 64 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
A–F 外の文字、空白、アンダースコア、空の 0x など無効な文字は、黙って誤ったビット列を返す代わりに明確な invalid_input エラーを起こします。宿題を確認する学習者、レジスタダンプを読む組み込み技術者、メモリアドレスを正規化する API クライアントはすべて同じ決定的経路を必要とします。
API の呼び出し方と返ってくる内容
値は先頭の 0x または 0X を含めてよく、その後は0から9と A から F(大小どちらでも)だけが許されます。絶対長は16進64桁までに抑えられ、Worker とブラウザの応答が有界に保たれます。必須の文字列フィールド hex(エイリアス value、text、n、input)を含む JSON 本体を送ってください。成功時、応答は整形済み入力をエコーし、hex を接頭辞なし大文字桁列、hex_lower を小文字形、prefixed を正規の 0x と大文字桁、had_prefix をクライアントが 0x を送ったか、binary を先頭ゼロなしの最小基数2ビット列(ゼロ自体を除く)、binary_padded をニブル整列を保つ桁あたり4ビット展開、base_from を16、base_to を2、digit_count を16進桁数、bit_count を最小2進列の長さ、message を一行要約、steps を接頭辞処理・検証・ニブル写像・最終2進を記録する順序付き一覧にします。失敗した検証—hex 欠落、0x 後の空桁、空白やアンダースコア、16進アルファベット外の文字、64桁超—は invalid_input を返し、課金されません。料金は成功リクエストごとに固定 $0.002 で単位 item、限界単価はゼロです。コード向けのコンパクトなビット列には binary を、教材やビットフィールド図向けの固定幅ニブルには binary_padded を優先してください。
実務のコツ、上限、関連検索
0xFF は 11111111、0xA は 1010 に写り、G や 0x は invalid_input になり学習者がエラー経路を見ます。このランディングは16進から2進、16進→2進計算機、基数16から基数2のツールを探す人向けで、色選択でも16進→10進変換(基数10整数が必要ならその兄弟を使う)でも from-base 引数付きの一般任意基数計算機でもありません。invalid_input を返す失敗タスクは前払い残高を消費しないため、無効桁をファズする探索スクリプトが安く済みます。往復確認は簡単です。 0xFF のような既知値を手または別の信頼できるライブラリで変換し binary が 11111111 と一致することを確かめ、1文字を無効文字に変えると応答が悪い桁を名指しする invalid_input に切り替わることを確認します。
連携の活用例
ファームウェアとレジスタのビットフィールドダンプ
組み込みパイプラインはログの 0x 付きレジスタ値をビットマスク、警告、各ニブルを揃えて示す文書用のビット列へ変換します。
技術的な質問
無効な16進桁では何が起きますか?
API は invalid_input を返し、問題(例: 予期しない文字)を名指しします。失敗した検証は課金されません。
binary と binary_padded の違いは?
binary は先頭ゼロなしの最小ビット列(ゼロ自体を除く)です。binary_padded は各16進桁に4ビットを保ちニブル整列を維持します。