【基本情報技術者試験】基数変換を完全マスター!小数・2の補数の計算もステップ解説【ITパスポート】【情報Ⅰ】対策も参考までに

情報・ウェブ

基本情報技術者試験(科目A)において、毎年必ずと言っていいほど出題されるのが「基数変換(進数変換)」です。

「2進数や16進数の計算がややこしくて苦手……」
「小数が出てくると急に解けなくなる……」
「2の補数の仕組みがよくわからない……」

そんな悩みを持っていませんか?実は、基数変換には「決まった手順」と「計算を劇的に速くするコツ」があります。

この記事では、初学者向けに基数変換の基本から、試験で差がつく小数・負数(2の補数)の表現、さらには一瞬で答えが出る裏技まで、ステップ形式でわかりやすく解説します!

そもそも「基数」とは?4つの進数を整理しよう

基数とは、数値を表現するときの「桁上がりの基準」となる数のことです。私たちが日常使っているのは10進数ですが、ITの世界では以下の4つの進数が中心に使われます。

進数 基数 使用する記号(文字)
10進数 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 75
2進数 2 0, 1 1001011
8進数 8 0, 1, 2, 3, 4, 5, 6, 7 113
16進数 16 0〜9, A, B, C, D, E, F 4B
⚠️ 試験の罠:16進数のアルファベット対応

16進数では、10進数の「10」以降を1桁で表すためにアルファベットを使います。計算時は必ず以下の値に置き換えて考えましょう。
A = 10, B = 11, C = 12, D = 13, E = 14, F = 15

整数部分の基数変換:まずは基本の2パターン

10進数 → 別の進数(割り算方式)

10進数の整数を別の進数に変換する場合、変換先の基数で「商が0になるまで」割り続け、その余りを下から逆に並べるのが確実な方法です。

■ 例題:10進数「75」を2進数にする

  1. 75 ÷ 2 = 37 … 余り 1
  2. 37 ÷ 2 = 18 … 余り 1
  3. 18 ÷ 2 = 9 … 余り 0
  4. 9 ÷ 2 = 4 … 余り 1
  5. 4 ÷ 2 = 2 … 余り 0
  6. 2 ÷ 2 = 1 … 余り 0
  7. 1 ÷ 2 = 0 … 余り 1 (商が0になったので終了)

👉 余りを下から順に並べると 1001011 となります。

別の進数 → 10進数(重み付け方式)

2進数などの各桁には、基数に応じた「重み(位)」があります。それぞれの桁の数字に重みを掛け合わせ、すべてを合計すれば10進数になります。

💡 得点アップの裏技(2進数の重み一覧)

2進数の重みは、右から順に … 128, 64, 32, 16, 8, 4, 2, 1 と2倍ずつ増えていきます。これを問題用紙の余白にメモしておくだけで、変換計算のスピードが劇的に上がります!

■ 例題:16進数「A5」を10進数にする

16進数の「A」は10進数で「10」です。重みは16の位と1の位になります。
計算式:(10 × 16) + (5 × 1) = 160 + 5 = 165

【超重要】時間短縮!2進数を経由する「ビット刻み」の裏技

試験本番で「8進数 ⇄ 16進数」や「10進数以外の進数同士」の変換が出たとき、律儀に毎回10進数に戻して計算していませんか?それでは時間が足りなくなってしまいます。

ここで絶対に覚えておきたいのが、「一度2進数に戻してから変換する」という最強のショートカット技です。ポイントは、進数に応じた「ビットの区切り方」にあります。

💡 進数とビット刻みのルール
  • 8進数=「3ビット刻み」(2³=8 なので、3桁の2進数で8進数の1桁を表せる)
  • 16進数=「4ビット刻み」(2⁴=16 なので、4桁の2進数で16進数の1桁を表せる)

具体例:8進数「163」を16進数に変換する

普通に解こうとすると「8進数 → 10進数 → 16進数」と2回も面倒な計算が必要ですが、2進数を挟むと一瞬で解けます。

ステップ1:8進数の各桁を「3ビットの2進数」にばらす
・1 → 001
・6 → 110
・3 → 011
これらをガッチャンコと繋げると、2進数の 001110011 になります。

ステップ2:右(下位桁)から「4ビットずつ」に区切り直す
繋げた 001110011 を、右から4桁ずつ縦棒で区切ってみます。
👉 001110011
(※先頭の 0 は余りなので無視してOKです)

ステップ3:4ビットの塊をそれぞれ16進数に直す
0111 → 16進数で 7
0011 → 16進数で 3
並べるだけで、あっという間に16進数の 73 が導き出せました!

試験で差がつく!「小数」の基数変換

小数になると苦手意識を持つ人が増えますが、ルールは整数と逆になるだけです。

10進数小数 → 2進数小数(掛け算方式)

小数部に「2」を掛け、その積の整数部を上から順に取り出す操作を、小数部が0になるまで繰り返します。

■ 例題:10進数「0.375」を2進数にする

  1. 0.375 × 2 = 0.75 → 整数部 0 を取り出す
  2. 0.75 × 2 = 1.50 → 整数部 1 を取り出す(残りは0.5)
  3. 0.5 × 2 = 1.00 → 整数部 1 を取り出す(小数部が0で終了)

👉 上から順に並べて「0.」の後ろにつける:0.011

🚨 注意:2進数にすると「無限小数」になるパターン

10進数では「0.2」や「0.4」のようにすっきり表せる小数でも、2進数にすると掛け算が無限にループしてしまうケースがあります。午前試験では「2進数にすると無限小数になるものはどれか」という形式でよく狙われます。

16進数小数 → 10進数小数

16進数の小数第1位の重みは 1/16(0.0625)、第2位は 1/256 になります。

■ 例題:16進数「0.C」を10進数にする

16進数の「C」は10進数で「12」です。
計算式:12 × (1/16) = 12/16 = 3/4 = 0.75

⚠️ 小数のときは「区切る方向」に注意!

先ほどのビット刻みの裏技は小数でも使えますが、区切る方向に罠があります。
整数部: 小数点から【左(←)】に向かって3ビット(または4ビット)ずつ区切る
小数部: 小数点から【右(→)】に向かって3ビット(または4ビット)ずつ区切る
もし端っこでビットが足りなくなったら、整数部は「左端に0を足す」、小数部は「右端に0を足す」という基本ルールを忘れないようにしましょう!

※PR
実務レベルのWeb・デザインを体系的に学びたい方は、

コンピュータのマイナス表現「2の補数」の仕組み

コンピュータの内部で負(マイナス)の整数を表現するときに使われるのが「2の補数」です。

10進数の負数を「2の補数(2進数)」にする3ステップ

  1. 絶対値(正の数)を普通の2進数で表す。
  2. すべてのビットを反転させる(0を1に、1を0にする → 1の補数)。
  3. 反転した結果に、「1」を足す(→ 2の補数)。

例題:10進数の「-5」を4ビットの2の補数にする

  1. 「5」を4ビットの2進数にする:0101
  2. ビットをすべて反転する:1010
  3. 「1」を足す:1010 + 1 = 1011

👉 答えは 1011 となります。

💡 よくある疑問:なぜ逆算(負 → 正)のときも同じ操作でいいの?

「行きが『反転して1を足す』なら、帰りは『1を引いてから反転』では?」と思いがちですが、実は帰りもまったく同じ「反転して1を足す」だけで元の正の数に戻ることができます。

これは、2の補数計算の本質が「ベースとなる数(4ビットなら16)からその数を引き算する」という鏡のような対称性を持っているためです。コンピュータは同じ計算回路を使い回せるため、この非常に合理的な仕組みを採用しています。

まとめ:繰り返し演習して得点源にしよう!

基本情報技術者試験の基数変換を攻略するコツは以下の3つです。

  • 16進数のアルファベット(A=10〜F=15)を即座に脳内変換できるようにする
  • 2進数・8進数・16進数の相互変換は「2進数のビット刻み」を使いこなす
  • 2の補数は、行きも帰りも「反転して1を足す」

基数変換は、暗記ではなく「解き方の慣れ」がすべてです。いくつかの過去問や類似問題を繰り返し解くことで、本番では確実に数点をもぎ取れるボーナス問題に変わります。ぜひ配布中のPDFを使って繰り返し練習してみてください!

関連記事

特集記事

コメント

この記事へのコメントはありません。

CAPTCHA


TOP