【基本情報技術者試験】2進数・8進数・16進数でつまずかないための考え方と勉強のコツ

基本情報技術者試験

※当サイトはアフィリエイト広告を利用しています。商品を紹介し、収益を得ることがあります。

ITエンジニアの登竜門ともいわれる基本情報技術者試験。この試験で、ほぼ確実に出題される分野のひとつが基数変換です。

「0と1ばかりで目が回る」「AとかFとか、数字じゃないものが出てきてパニックになる」。そんな苦手意識を持っている方も多いのではないでしょうか。

ですが、基数変換は数学というより、パズルや翻訳に近い分野です。仕組みさえ理解できれば、必要以上に怖がる必要はありません。

この記事では、基数変換でつまずかないための根本的な考え方と、効率よくマスターするための勉強のコツを、初学者向けに解説します。

「基数」を学ぶときの考え方

なぜこんなに種類があるの?

まずは、なぜわざわざ2進数、8進数、16進数といった複数の「基数」を使い分けるのか、その理由から押さえておきましょう。

2進数(基数が2):コンピュータの言葉

コンピュータは、「スイッチのON/OFF」、つまり0か1しか理解できません。この0と1だけで表現する仕組みが、2進数です。すべての処理は、ここが出発点になっています。

8進数・16進数:人間のための省略形

一方で、2進数は人間にとって非常に読みにくいという欠点があります。たとえば「111101011100」のような数字を正確に読み取るのは、なかなか大変ですよね。

そこで登場するのが8進数と16進数です。2進数を3桁ずつまとめたものが8進数、4桁ずつまとめたものが16進数です。

つまり、コンピュータの都合(2進数)を人間にわかりやすく翻訳した表現だと考えると、少しハードルが下がりませんか?

基数変換をマスターする勉強のコツ

基数変換は、暗記ではなく「手順のパターン化」が重要です。以下の3つのコツを意識してみてください。

① 「数字列」を必ず書き出す

2進数の計算をするときは、紙の余白に必ず次の数字を書きましょう。

1, 2, 4, 8, 16, 32, 64, 128…

これが各桁の「重み」です。この数字を書いておくだけで、桁を見失いにくくなり、暗算ミスも防げます。結果として、計算ミスは劇的に減ります。

② 8進数・16進数は「グループ化」で解く

8進数や16進数を扱うとき、いちいち10進数に戻して計算するのは時間の無駄です。

8進数(基数8)にする場合は、2進数を右から3桁ずつ区切ります。これは 2³=8 だからです。
16進数(基数16)にする場合は、2進数を右から4桁ずつ区切ります。これは 2⁴=16 だからです。

この「右から区切る」というルールを徹底するだけで、多くのミスを防げます。

③ 「A=10」だけを叩き込む

16進数で一番混乱しやすいのが、アルファベット(A〜F)の扱いです。ここで覚えるべきことは、実はひとつだけです。

Aは10。

これさえ押さえておけば、B=11、C=12…と指を折って数えるだけで対応できます。慣れてくれば、自然と「Fは15」までセットで覚えられるようになります。

初学者がつまずく3つの罠とその対策

多くの人がハマるポイントは、実は共通しています。ここを意識するだけで、無駄な失点をかなり防げます。

罠① 「0乗」の勘違い

どんな数字でも0乗は1です。つまり、基数が何であっても一番右の桁は必ず「1の位」になります。0の位から始めてしまうミスが非常に多いので注意しましょう。

罠② 割り算の余りを上から書いてしまう

10進数を2進数に変換するときの「割り算」。このとき、出てきた余りは必ず下から上へ読み取ります。ここを逆にしてしまうと、手順が合っていても答えがズレてしまいます。

罠③ 8進数と16進数の区切り間違い

問題を解くときは、「今は3桁区切り(8進数)なのか、それとも4桁区切り(16進数)なのか」を常に確認してください。ここが混ざると、やり方は合っていても答えだけが間違ってしまいます。

【実践】基数変換10本ノック!

仕組みが理解できたら、次は手を動かす番です。以下の例題で、実際に解けるか試してみましょう。

Q1: 10進数の18を2進数に直しなさい。

A1: 10010
解説: 18の中には「重み」の16と2が含まれます。16+2と考えれば、すぐに解けます。


Q2: 10進数の75を2進数に直しなさい。

A2: 1001011
解説: 64+8+2+1=75です。すだれ算で解く場合は、余りを必ず下から読み取りましょう。


Q3: 2進数の10110を10進数に直しなさい。

A3: 22
解説: 右から重みを当てはめます。16(1)+8(0)+4(1)+2(1)+1(0)となるので、16+4+2=22です。


Q4: 2進数の11001011を10進数に直しなさい。

A4: 203
解説: 128+64+8+2+1を合計します。桁が多いときは、重みを紙にメモするとミスを防げます。


Q5: 2進数の110111を8進数に直しなさい。

A5: 67
解説: 右から3桁ずつ区切ります。「110」と「111」に分かれるので、それぞれを変換して6と7になります。


Q6: 2進数の10111101を16進数に直しなさい。

A6: BD
解説: 右から4桁ずつ区切ります。「1011(11=B)」と「1101(13=D)」になるため、答えはBDです。


Q7: 16進数のA3を2進数に直しなさい。

A7: 10100011
解説: 1文字ずつ4桁の2進数に直します。A(10)は1010、3は0011です。


Q8: 8進数の62を2進数に直しなさい。

A8: 110010
解説: 1文字ずつ3桁の2進数に直します。6は110、2は010です。


Q9: 10進数の255を16進数に直しなさい。

A9: FF
解説: 255は2進数で11111111です。4桁ずつ区切ると1111が2つ並び、それぞれFになります。


Q10: 16進数の1Eを10進数に直しなさい。

A10: 30
解説: 左側の1は16の位、右側のEは1の位です。16×1+14(E)=30と計算します。

まとめ:基数変換は「慣れ」がすべて

基数変換は、一度コツを掴んでしまえば一生使えるスキルになります。まずは「数字列」を書くこと、グループで区切ることを意識して、例題を繰り返してみてください。

この分野を乗り越えられると、論理回路や符号付き2進数もぐっと楽になります。基数変換は、エンジニアとしての基礎体力づくりです。焦らず、確実に慣れていきましょう。

コメント