準備編を終えて、いよいよ科目Aの本編に入ります。最初のテーマは、基本情報技術者試験の入口ともいえる「基数変換」です。
なぜ基数変換から始めるのか
コンピュータの内部では、すべてのデータが0と1の2進数で扱われています。基数変換は、その2進数と、人間にとって扱いやすい10進数、そして16進数(コンピュータの世界でよく使われる表記)を相互に変換する技術です。
科目Aの序盤で必ず出題される分野であり、あとで学ぶ論理演算やメモリの計算にもそのまま使う土台になるので、最初にしっかり固めておきたいところです。
2進数・8進数・16進数とは
- 2進数:0と1の2つの数字だけで表す
- 8進数:0から7までの8つの数字で表す
- 16進数:0から9と、A〜Fのアルファベットを使って16種類の値を表す
16進数のA〜Fは、それぞれ10〜15を表しています。最初は見慣れませんが、慣れると10進数より短く書けて便利だと感じるようになります。
10進数→2進数の変換
10進数を2進数に変換するときは、「2で割り続けて、余りを下から並べる」という方法が基本です。
例えば10進数の13を2進数にする場合、13÷2=6余り1、6÷2=3余り0、3÷2=1余り1、1÷2=0余り1、という具合に余りを求めていき、それを下から並べると1101になります。
2進数→10進数の変換
反対に2進数を10進数に変換するときは、各桁に2のべき乗(1、2、4、8、16、32…)を掛けて合計します。
1101を例にすると、右から1桁目が1×1、2桁目が0×2、3桁目が1×4、4桁目が1×8となり、これを合計すると13になります。
2進数と8進数・16進数の関係
2進数と8進数・16進数は、桁のまとまりで変換できるのが特徴です。
- 2進数3桁ごとにまとめると8進数1桁になる
- 2進数4桁ごとにまとめると16進数1桁になる
この仕組みを知っておくと、10進数を経由せずに直接変換できるようになり、計算がぐっと速くなります。
学習してみた感想
最初は「今さら2進数?」と少し身構えていましたが、実際に手を動かして計算してみると、ルールはシンプルで、慣れれば数秒で変換できるようになりました。ここでつまずくと後の単元がすべて重たくなりそうなので、繰り返し練習して感覚に落とし込んでおこうと思います。
次回は、この基数変換の延長にある「シフト演算・ビット演算」を整理します。
