ITパスポート試験 / 平成21年度 秋期 ITパスポート試験 / 問64
certification-simodake-work

平成21年度 秋期 ITパスポート試験 問64 解説 進数変換

8進数の55を16進数で表したものはどれか。

  1. 2D ✓ 正答
  2. 2E
  3. 4D
  4. 4E

解説

8進数から10進数、そして16進数への変換手順

8進数を16進数に変換するには、一度10進数を経由するのが最も確実です。以下の2ステップで計算します。

  1. 8進数の55を10進数に変換する 8進数の各桁は右から8の0乗、8の1乗という重みを持っています。 5×81+5×80=40+5=455 \times 8^1 + 5 \times 8^0 = 40 + 5 = 45

  2. 10進数の45を16進数に変換する 16で割った商と余りを求めます。 45÷16=245 \div 16 = 2 余り 1313 16進数では10をA、11をB、12をC、13をDと表すため、余りの13はDとなります。商の2と合わせて、答えは2Dです。

基数変換を支える重みと位取りの考え方

数値の表現方法である基数法において、ある位の数字が持つ価値(重み)は、その基数の累乗で決まります。8進数であれば、右から左へ向かって 80=18^0=181=88^1=882=648^2=64 と大きくなっていきます。

この考え方は、私たちが日常的に使っている10進数も同じです。10進数の「45」は、4×101+5×1004 \times 10^1 + 5 \times 10^0 を意味しています。基数変換とは、ある「重みのルール」で書かれた数値を、別の「重みのルール」に翻訳し直す作業であると理解すると、仕組みが見えてきます。

思考プロセスと計算のコツ

この問題のような変換を行う際は、まず「今の数字を素直に分解する」ことから始めます。8進数の「55」を見たときに、「5個の8と5個の1がある」と直感的にイメージできれば、10進数への変換はスムーズです。

次に、10進数から他の進数へ変換する場合の「割り算の繰り返し」という手法をセットで覚えておきましょう。今回の例のように、10進数を16進数に直すには「16で割って余りを出す」という作業を繰り返します。最後に得られた余りを逆順(下から上へ)に並べるだけで、どんな進数にも対応できます。

コンピュータ内部におけるデータ表現の重要性

なぜITパスポートでこのような進数変換が問われるのかというと、コンピュータが処理を行う基礎として、2進数、8進数、16進数が密接に関わっているからです。

例えば、プログラミングやネットワーク設定で頻繁に見かける「IPアドレス」や「カラーコード(#FF0000など)」は、しばしば16進数で記述されます。8進数や16進数は、2進数(0と1の羅列)を人間が読みやすく短縮するための「2進数の省略表記」としての側面が非常に強いのです。

エンジニアがコンピュータのメモリ上の状態をデバッグしたり、ハードウェアのスイッチ設定を行ったりする現場では、こうした進数間の変換が日常的に行われます。単なる試験のための計算問題ではなく、コンピュータの情報を扱うための「共通言語」を学んでいるという意識を持つと、より深い理解につながります。

参考リンク

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう