16進数 10進数 変換
クイック変換
16進数とは?10進数との違い
16進数(ヘキサデシマル)は、0から9までの数字とA~Fまでのアルファベットを使って数値を表現する記数法です。10進数が0~9の10個の記号を使うのに対し、16進数は0~15を0~9、A~Fで表現します。コンピュータやプログラミングの世界では、メモリアドレスや色コード(例:#FF5733)、バイナリデータの表現などに広く使用されています。
16進数の各桁の意味
16進数は16を基数とする位取り記数法です。右から左へ、160、161、162…の位を表します。
= 1×16² + A×16¹ + 3×16⁰
= 1×256 + 10×16 + 3×1
= 256 + 160 + 3
= 419(10進数)
変換方法と計算式
10進数から16進数への変換手順
10進数を16進数に変換するには、10進数を16で繰り返し割り、その余りを逆順に並べます。
例:10進数「254」を16進数に変換
15 ÷ 16 = 0 余り 15 → F
逆順に読む:FE
答え:254(10進数)= FE(16進数)
16進数から10進数への変換手順
16進数を10進数に変換するには、各桁の数値に対応する16のべき乗を掛けて合計します。
例:16進数「2F」を10進数に変換
= 2×16¹ + F×16⁰
= 2×16 + 15×1
= 32 + 15
= 47(10進数)
負の数値の変換(2の補数表現)
コンピュータ内部では、負の数を「2の補数」という方法で表現します。これは、元の数値のビット反転に1を加えたものです。
例:-1を32ビットで表現
ビット反転 = 11111111111111111111111111111110
1を加算 = 11111111111111111111111111111111
16進数表記 = FFFFFFFF
16進数・10進数変換表
| 10進数 | 16進数 | 10進数 | 16進数 | 10進数 | 16進数 |
|---|---|---|---|---|---|
| 0 | 0 | 16 | 10 | 32 | 20 |
| 1 | 1 | 17 | 11 | 48 | 30 |
| 2 | 2 | 18 | 12 | 64 | 40 |
| 3 | 3 | 19 | 13 | 128 | 80 |
| 4 | 4 | 20 | 14 | 255 | FF |
| 5 | 5 | 21 | 15 | 256 | 100 |
| 6 | 6 | 22 | 16 | 512 | 200 |
| 7 | 7 | 23 | 17 | 1024 | 400 |
| 8 | 8 | 24 | 18 | 2048 | 800 |
| 9 | 9 | 25 | 19 | 4096 | 1000 |
| 10 | A | 26 | 1A | 8192 | 2000 |
| 11 | B | 27 | 1B | 16384 | 4000 |
| 12 | C | 28 | 1C | 32768 | 8000 |
| 13 | D | 29 | 1D | 65535 | FFFF |
| 14 | E | 30 | 1E | 1048576 | 100000 |
| 15 | F | 31 | 1F | 16777215 | FFFFFF |
よく使われる16進数変換
プログラミングやWeb開発、ネットワーク管理などでよく使用される16進数の変換例をご紹介します。
カラーコード関連
- 255(10進数)= FF(16進数) – RGB色の最大値
- 0(10進数)= 00(16進数) – RGB色の最小値
- 128(10進数)= 80(16進数) – RGB色の中間値
メモリとデータサイズ
- 256(10進数)= 100(16進数) – 1バイトの次の値
- 1024(10進数)= 400(16進数) – 1キロバイト
- 65536(10進数)= 10000(16進数) – 64キロバイト
IPアドレスとネットワーク
- 192(10進数)= C0(16進数) – プライベートIPアドレスの開始
- 168(10進数)= A8(16進数) – 192.168.x.xでよく使用
- 255(10進数)= FF(16進数) – サブネットマスクで使用
関連する進数変換
16進数と10進数以外にも、コンピュータの世界では様々な進数が使用されます。
- 2進数(バイナリ):コンピュータの最も基本的な表記法。0と1のみで数値を表現
- 8進数(オクタル):0~7の8個の数字で表現。Unixのファイル権限などで使用
- 36進数:0~9とA~Zを使用。URLの短縮などで利用
よくある質問
Q1: 16進数で「A」~「F」はどのように読みますか?
A~Fは、それぞれ10~15を表します。「エー」「ビー」「シー」「ディー」「イー」「エフ」と読むのが一般的です。例えば「AF」は「エー・エフ」と読みます。10進数では「175」になります。
Q2: 16進数に小数点は使えますか?
はい、16進数でも小数点を使用できます。例えば「1.8」(16進数)は、1 + 8/16 = 1.5(10進数)となります。ただし、プログラミングや一般的な用途では整数のみを扱うことが多いです。
Q3: なぜプログラミングで16進数がよく使われるのですか?
16進数は2進数と相性が良く、2進数の4桁が16進数の1桁に対応します。これにより、長いバイナリデータを短く読みやすく表現できます。また、メモリアドレスやカラーコード、バイトデータの表現に便利だからです。
Q4: 16進数の「0x」という接頭辞は何ですか?
「0x」はプログラミング言語(C、Java、JavaScriptなど)で16進数であることを示す接頭辞です。例えば「0xFF」は16進数の「FF」(10進数で255)を意味します。HTMLでは「#」が使われます(例:#FF0000)。
Q5: 大きな数値も変換できますか?
はい、当ツールは非常に大きな数値にも対応しています。ただし、選択したビット精度によって扱える範囲が異なります。32ビットでは約42億まで、64ビットではさらに大きな数値を扱えます。
Q6: 16進数で計算はできますか?
はい、16進数でも加減乗除が可能です。ただし、通常は一度10進数に変換してから計算し、結果を再び16進数に戻す方が簡単です。当ツールを使って計算前後の値を変換することができます。
Q7: 負の数はどのように16進数で表現されますか?
コンピュータでは「2の補数」という方法で負の数を表現します。上のツールで「負の数値に対応」オプションをチェックすると、この形式で変換されます。例えば、-1は32ビットでは「FFFFFFFF」となります。
16進数の活用例
Webデザイン
HTMLやCSSでは、色を16進数で指定します。例えば「#FF5733」は赤系の色を表し、最初の2桁(FF)が赤、次の2桁(57)が緑、最後の2桁(33)が青の強度を示します。
プログラミング
メモリアドレス、ビット演算、バイトデータの表現などで16進数が使われます。デバッグ時にメモリダンプを見る際も16進数表記が標準です。
ネットワーク
MACアドレスやIPv6アドレスは16進数で表記されます。例えば、MACアドレスは「00:1A:2B:3C:4D:5E」のような形式です。
データ圧縮とエンコーディング
バイナリデータを人間が読める形式で表現する際、16進数エンコーディングが使用されます。ハッシュ値(MD5、SHA-256など)も16進数で表示されます。
