この変換ツールでできること
このツールは、16進数(基数16)を10進数(基数10)に変換し、あわせて2進数(基数2)への変換結果も表示します。入力欄「16進数」に数値を打ち込むだけで、10進数の結果と、対応する0と1の並びがその場で表示されます。メモリアドレスやカラーコードを扱うプログラマー、進数の仕組みを学ぶ学生、低レベルなデータを扱う方まで、幅広く活用できます。
使い方
- 「16進数」欄に16進数の値を入力します。16進数では0〜9の数字に加えてA〜Fのアルファベットを使います(大文字・小文字は区別されないため、
FFでもffでも同じ結果になります)。 - 入力を読み取り、ツールが2種類の結果を出力します。10進数の値と、2進数表記です。
1A、FF、2F4Bなどの整数の16進数に使えます。小数点や「0x」という接頭辞を付ける必要はありません。
計算の仕組み(公式)
16進数の各桁は16のべき乗を表します。右から左へ読んでいき、いちばん右の桁は16⁰、次が16¹、その次が16²……というように掛けていきます。10進数の値は、これらの積をすべて足し合わせたものです。
10進数 = Σ(各桁の数値 × 16桁の位置)
ツール内部では、まずLong.parseLong(hex, 16)を使って文字列を16進数として解析し、続いてLong.toBinaryString()でその10進数の結果から2進数表記を生成しています。
計算例
たとえば2Fと入力した場合:
- 桁
Fは15を表し、16⁰の位にあるため:15 × 1 = 15 - 桁
2は16¹の位にあるため:2 × 16 = 32 - これらを足し合わせると:32 + 15 = 47(10進数)
- 47を2進数で表すと101111
つまり2Fを入力すると、10進数では47、2進数では101111が返されます。
よくある質問
大文字と小文字は区別されますか? いいえ。16進数のアルファベットA〜Fは大文字・小文字を区別しないため、ABCでもabcでもどちらも2748に変換されます。
「0x」という接頭辞を付けてもいいですか? いいえ。数字部分だけを入力してください(例:0x1Aではなく1A)。このツールは純粋な16進数の文字列を想定しているためです。
変換できる最大値はいくつですか? このツールは値を64ビットのlong型として解析するため、7FFFFFFFFFFFFFFF(10進数で9,223,372,036,854,775,807)までの16進数を正確に処理できます。