技術士 過去問
令和6年度(2024年)
問7 (基礎科目「情報・論理に関するもの」 問1)
問題文
このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
技術士試験 令和6年度(2024年) 問7(基礎科目「情報・論理に関するもの」 問1) (訂正依頼・報告はこちら)
- 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)に戻る。
問題を用いて、実際の処理を見てみましょう。
本選択肢が正解です。
小数に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進小数が得られます。
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
この解説の修正を提案する
前の問題(問6)へ
令和6年度(2024年) 問題一覧
次の問題(問8)へ