Skip to the content.

最終更新日:2026年7月25日

まず結論

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

特に、ビット演算では、0FF0マスク として使われます。

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進数はビット演算と関係ない ビット列を短く書くためによく使われる

特に、0FF0 は逆にしやすいです。

0F = 0000 1111 → 下位4ビット
F0 = 1111 0000 → 上位4ビット

この2つを見分けられると、マスク処理の問題で迷いにくくなります。

まとめ(試験直前用)

  • 16進数1桁は、2進数4ビットに対応する
  • 0 = 0000F = 1111
  • 0F = 0000 1111 なので、下位4ビットを指定する
  • F0 = 1111 0000 なので、上位4ビットを指定する
  • ビット演算では、16進数を2進数に直して考える
  • 0FF0 の位置を逆にしない

© 2024-2026 stemtazoo. All rights reserved.