最終更新日:2026年7月25日
fe fe-technology algorithm
まず結論
16進数と2進数の変換は、16進数1桁を2進数4ビットに置き換える と考えると分かりやすいです。
基本情報技術者試験では、次の対応をすぐ出せると、ビット演算やマスク処理の問題が解きやすくなります。
16進数1桁 = 2進数4ビット
0 = 0000
F = 1111
0F = 0000 1111
F0 = 1111 0000
FF = 1111 1111
特に、0F は 下位4ビットが1 なので、下位4ビットを残すマスクとしてよく使われます。
直感的な説明
16進数は、2進数を読みやすく短く書くための表し方です。
2進数は、0と1だけで表すので、桁数が長くなりがちです。
例えば、次の2進数を見てください。
1111 1111
これは16進数では、次のように短く書けます。
FF
ポイントは、2進数を4ビットずつ区切って読むことです。
1111 1111
F F
つまり、16進数は 4ビットごとの短縮表記 と考えると楽です。
定義・仕組み
16進数は、0〜9とA〜Fを使って数を表します。
| 16進数 | 10進数 | 2進数4ビット |
|---|---|---|
| 0 | 0 | 0000 |
| 1 | 1 | 0001 |
| 2 | 2 | 0010 |
| 3 | 3 | 0011 |
| 4 | 4 | 0100 |
| 5 | 5 | 0101 |
| 6 | 6 | 0110 |
| 7 | 7 | 0111 |
| 8 | 8 | 1000 |
| 9 | 9 | 1001 |
| A | 10 | 1010 |
| B | 11 | 1011 |
| C | 12 | 1100 |
| D | 13 | 1101 |
| E | 14 | 1110 |
| F | 15 | 1111 |
FE試験では、すべてを毎回暗記で思い出すより、次の関係を押さえると実用的です。
0 = 0000
1 = 0001
2 = 0010
4 = 0100
8 = 1000
F = 1111
そして、A〜Fは10〜15に対応します。
A = 1010
B = 1011
C = 1100
D = 1101
E = 1110
F = 1111
このテーマは、基本情報技術者試験の「基礎理論」や「情報に関する理論」と関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。
科目Aでどう出る?
科目Aでは、16進数を2進数に直してから、ビット演算を考える問題が出題されやすいです。
例えば、0F が出てきたら、まず次のように変換します。
0F
↓
0 = 0000
F = 1111
↓
0000 1111
F0 なら、次のようになります。
F0
↓
F = 1111
0 = 0000
↓
1111 0000
よく出る形は、次のように整理できます。
| 16進数 | 2進数 | よくある意味 |
|---|---|---|
| 0F | 0000 1111 | 下位4ビットを指定する |
| F0 | 1111 0000 | 上位4ビットを指定する |
| FF | 1111 1111 | 8ビットすべてを指定する |
| 00 | 0000 0000 | すべて0 |
特に、ビット演算では、0F や F0 が マスク として使われます。
0F = 下位4ビットを見たいとき
F0 = 上位4ビットを見たいとき
どんな場面で使う?
問題文では、プログラム中のビット演算やフラグ処理を読むときに、16進数と2進数の変換が役立ちます。
例えば、次のような処理が出てきたとします。
値 AND 0F
このとき、0F を2進数に直すと、次のようになります。
0F = 0000 1111
つまり、下位4ビットだけを残す処理だと分かります。
1011 0110
AND 0000 1111
= 0000 0110
このように、16進数を2進数に直せると、コードの意味を読みやすくなります。
問題文では、計算そのものよりも、この値はどのビットを見ているのか をつかむことが大切です。
よくある誤解・混同
16進数と2進数の変換でよくある誤解は、16進数1桁を2進数1桁のように見てしまうこと です。
| 誤解 | 正しい理解 |
|---|---|
| 16進数1桁は2進数1ビット | 16進数1桁は2進数4ビット |
| Fは10進数のFという数字 | Fは10進数の15を表す |
| 0Fは00001111ではなく15だけを表す | 8ビットで見ると0Fは0000 1111 |
| F0と0Fは似た意味 | F0は上位4ビット、0Fは下位4ビット |
| 16進数はビット演算と関係ない | ビット列を短く書くためによく使われる |
特に、0F と F0 は逆にしやすいです。
0F = 0000 1111 → 下位4ビット
F0 = 1111 0000 → 上位4ビット
この2つを見分けられると、マスク処理の問題で迷いにくくなります。
まとめ(試験直前用)
- 16進数1桁は、2進数4ビットに対応する
0 = 0000、F = 11110F = 0000 1111なので、下位4ビットを指定するF0 = 1111 0000なので、上位4ビットを指定する- ビット演算では、16進数を2進数に直して考える
0FとF0の位置を逆にしない