技術士 過去問
令和6年度(2024年)
問7 (基礎科目「情報・論理に関するもの」 問1)

このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。

問題

技術士試験 令和6年度(2024年) 問7(基礎科目「情報・論理に関するもの」 問1) (訂正依頼・報告はこちら)

10進数での 「0.6」 を2進数表現したものとして、最も適切なものはどれか。ただし、以下の2進数表現では、小数点以下16位までを示している。
  • 0.100110011
  • 0.10110011
  • 0.11
  • 0.1100110011
  • 0.1110011001

次の問題へ

正解!素晴らしいです

残念...

この過去問の解説 (2件)

01

小数の10進数を、小数の2進数に直す方法は以下の通りです。

(1)小数に2を掛ける。その値を整数部Aと小数部Bに分ける。

(2)Bが0なら変換処理を終え、求めたAを左から順に並べる。小数部が0でなければ(3)の処理へ進む。

(3)小数部Bを新しい少数とし、(1)に戻る。

問題を用いて、実際の処理を見てみましょう。

選択肢1. 0.100110011

本選択肢が正解です。

小数に2を掛け、その値を整数部Aと小数部Bに分ける処理を続けると以下のようになります。

0.6×2=1.2

0.2×2=0.4

0.4×2=0.8

0.8×2=1.6

0.6×2=1.2

・・・と続きます。

求めた整数Aを左から順に並べると、0.100110011・・・となります。

 

まとめ

逆に、2進数での0.100110011を10進数に変換する方法は、以下の通りです。

1×2-1+0×2-2+0×2-3+1×2-4+1×2-5・・・≒0.6

参考になった数91

02

10進数の「0.6」を2進数(小数)に変換するときの考え方を問う問題です。

ここでは、小数点以下を16ビット程度まで表したとき、最も適切な2進数表現を選ぶものです。

10進小数を2進小数に変換するには、次の方法を使います。

小数部分 × 2 → 整数部分を取り出す → 残りの小数に再び2を掛ける → 以下繰り返す。

整数部分を左から順に並べていくと、2進小数が得られます。

選択肢1. 0.100110011

0.6 を変換します。

計算結果の各整数部、小数部は

0.6 × 2 = 1.2 → 1、 0.2

0.2 × 2 = 0.4 → 0、 0.4

0.4 × 2 = 0.8 → 0、 0.8

0.8 × 2 = 1.6 → 1、 0.6

0.6 × 2 = 1.2 → 1、 0.2

0.2 × 2 = 0.4 → 0、 0.4

0.4 × 2 = 0.8 → 0、 0.8

0.8 × 2 = 1.6 → 1、 0.6

となります。

この時点で、小数部0.6が再び現れ、以後同じパターンを繰り返すことが分かります。

整数部分の列を並べると

0.6 = 0.1001100110011…

この「1001」が繰り返し(循環)パターンになります。

与えられた選択肢の中では0.100110011となります。

 

まとめ

正解は「0.100110011」です。

 

参考になった数9