2進数・16進数の基礎

コンピュータの内部表現である2進数と16進数の基本と相互変換を学びます。

コンピュータは0と1の2進数で動作します。基本情報試験では2進数・16進数の変換が頻出。本記事で基礎を固めましょう。

日野 こむぎ(普段) 日野 こむぎ

ねぇ先生、コンピュータって0と1だけで動いてるって本当?
なんでそんな不便そうな数で動かしてるの?

藤森 さやか 先生(笑顔) 藤森 さやか 先生

ふふっ、いい質問ね。
コンピュータの内部は2進数で動いているの。
電圧のオン (1) とオフ (0) で表すのが、一番シンプルで信頼性も高いからなのよ。

青木 澪(普段) 青木 澪

私たちが普段使うのが10進数で、コンピュータが使うのが2進数。
基本情報試験では、2進数と10進数、そして16進数の相互変換が頻出よ。

桃井 すみれ(びっくり) 桃井 すみれ

16進数って、A・B・C・D・E・Fも数字みたいに使うやつですかぁ?

藤森 さやか 先生(笑顔) 藤森 さやか 先生

そう。
16進数は0〜9とA〜Fで0〜15を表すの。
例えば10進数の10はAになるわね。

日野 こむぎ(普段) 日野 こむぎ

じゃあ、10進数の13を2進数にするにはどうするの?
あたし、まだイメージわかないなぁ…

青木 澪(普段) 青木 澪

13を2で割り続けて、出た余りを下から並べるのよ。
13÷2=6余り1、6÷2=3余り0、3÷2=1余り1、1÷2=0余り1。
下から並べると 1101 になるわ。

藤森 さやか 先生(普段) 藤森 さやか 先生

13 = 8 + 4 + 0 + 1 = 2³ + 2² + 2⁰ という見方もできるわね。
各桁が2の累乗を表しているの。

桃井 すみれ(笑顔) 桃井 すみれ

わぁ、なるほど〜!
2進数の桁の重みって、1, 2, 4, 8, 16, 32…って増えていくんですねぇ。

日野 こむぎ(普段) 日野 こむぎ

16進数への変換は?

青木 澪(笑顔) 青木 澪

2進数の4桁が、ちょうど16進数の1桁に対応するの。
1101 (2進数) は 13 だから、16進数だと D ね。
だから2進数→16進数は4桁ずつ区切って変換すればいいだけよ。

藤森 さやか 先生(笑顔) 藤森 さやか 先生

例えば 8ビットの2進数 11010110 は、4桁ずつ区切って 1101 0110 = D6 (16進数) になるわ。
覚えやすいでしょ?

日野 こむぎ(笑い) 日野 こむぎ

おぉ、4桁ずつ区切れば一気に変換できちゃうじゃん!
これ、めっちゃ便利だね!

桃井 すみれ(普段) 桃井 すみれ

試験ではどう出るんですかぁ?

青木 澪(普段) 青木 澪

「2進数の 1010 1100 を16進数で表せ」「16進数 FF を10進数で表せ」のような問題が定番。
FFは255よ。
覚えておいて。

藤森 さやか 先生(笑顔) 藤森 さやか 先生

また、1バイト = 8ビット = 16進数2桁 という対応も重要。
色コード #FF8800 みたいな表記もこの仕組みなの。

確認クイズ

10進数の 25 を2進数で表したものはどれか。

  1. 10101
  2. 11001
  3. 11011
  4. 10011
こたえを見る

正解: 2. 11001

25 = 16 + 8 + 1 = 2⁴ + 2³ + 2⁰ なので、2進数では 11001 となります。25÷2=12余り1, 12÷2=6余り0, 6÷2=3余り0, 3÷2=1余り1, 1÷2=0余り1 を逆順に並べても 11001 になります。

桃井すみれ、日野こむぎが調理室でカップケーキ作りを楽しむ様子

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。