令和8年度第三種電気主任技術者上期試験 機械科目 問140 解説 問14
2進数, 10進数, 16進数に関する記述として, 誤っているものを次の(1)~(5)のうちから一つ選べ。
- 16進数の(6)16を16倍すると(60)16になる。
- 2進数の(1010101)2と16進数の(57)16を比較すると(57)16の方が大きい。
- 2進数の(1011)2を10進数に変換すると(11)10になる。
- 10進数の(12)10を16進数に変換すると(C)16になる。
- 16進数の(3D)16を2進数に変換すると(111011)2になる。 ✓ 正答
解説
16進数の (3D)16 を2進数に変換すると 3 が (0011)2、D が (1101)2 となり組み合わせて (111101)2 となるため、選択肢に示された (111011)2 という記述が誤りであり、正解となります。
位取り記数法と基数変換の原理
コンピュータやデジタル電子回路では、数値の表現や計算のために2進数、10進数、16進数といった複数の進法が使用されます。これらの進法はいずれも、数字が置かれた位置(桁)によってその数値の持つ重みが決定される位取り記数法に基づいています。
位取り記数法における基数とは、桁上がりを起こす基準となる数を指します。普段日常で使う10進数は基数が10であり、0から9までの10種類の記号を使用します。2進数は基数が2であり、0と1の2種類の記号だけで数値を表現します。16進数は基数が16であり、0から9までの数字に加えて、10から15までの値を表現するために英字の A, B, C, D, E, F を用います(A=10, B=11, C=12, D=13, E=14, F=15)。
異なる基数で表された数値を別の基数の表現に直す操作を基数変換の原理と呼びます。16進数と2進数の間には という数学的な関係が成り立っているため、16進数の1桁は2進数の4桁(4ビット)と正確に1対1で対応します。この性質を利用すると、複雑な計算を行わなくても16進数の各桁をそのまま4桁の2進数に展開するだけで変換が行えます。
10進数から16進数や2進数への変換、およびその逆の変換では、各桁の位の重み(基数の乗数)を掛けて足し合わせる処理を行います。さらに、あるN進数の数値をその基数Nで掛け算した場合、10進数で10倍したときに末尾に0が付くのと同様に、すべての桁が左へ1つ移動して末尾に 0 が付く桁シフトの性質が成り立ちます。
数値変換による各記述の検証
- 16進数の (6)16 を16倍すると、基数倍による桁シフトが起きて末尾に 0 が追加されるため (60)16 となり、正しい記述です。
- 2進数の (1010101)2 を16進数に変換するために末尾から4桁ずつ区切ると (0101 0101)2 となります。下4桁の (0101)2 は10進数で 5、上4桁の (0101)2 も 5 であるため、これは 16進数で (55)16 を意味します。(55)16 と (57)16 を比較すると (57)16 の方が大きいため、正しい記述です。
- 2進数の (1011)2 を10進数に変換すると、 となるため (11)10 となり、正しい記述です。
- 10進数の (12)10 を16進数で表記する場合、10以上の数値を表すアルファベットの割り当て(A=10, B=11, C=12)に従うため (C)16 となり、正しい記述です。
- 16進数の (3D)16 を2進数へ変換する際、3 を4桁の2進数に直すと (0011)2、D(10進数の13)を4桁の2進数に直すと (1101)2 となります。これらを順番につなげると (00111101)2 となり、先頭の不要な 0 を除くと (111101)2 となります。記述にある (111011)2 は下位桁のビット順序(0と1の配置)が間違っているため、誤った記述となります。
16進数の各桁を4桁の2進数へ展開したときのビットの並び順に意識を向けると、数値の不一致がはっきりと見えてきます。