技術士の過去問
令和元年度(2019年)再試験
基礎科目「情報・論理に関するもの」 問10
このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
技術士 第一次試験 令和元年度(2019年)再試験 基礎科目「情報・論理に関するもの」 問10 (訂正依頼・報告はこちら)
計算機内部では、数は 0 と 1 の組合せで表される。絶対値が 2−126以上 2128未満の実数を、符号部 1 文字、指数部 8 文字、仮数部 23 文字の合計 32 文字の 0 , 1 から成る単精度浮動小数表現として、以下の手続き( 1 )~( 4 )によって変換する。
( 1 )実数を、0 ≦ x < 1 であるxを用いて ± 2α ×( 1 + x )の形に変形する。
( 2 )符号部 1 文字を、符号が正( + )のとき 0 、負( − )のとき 1 と定める。
( 3 )指数部 8 文字を、α + 127 の値を 2 進数に直した文字列で定める。
( 4 )仮数部 23 文字を、x の値を 2 進数に直したときの 0 , 1 の列を小数点以下順に並べたもので定める。
例えば、−6.5 を表現すると、−6.5 = −22 ×( 1 + 0.625 )であり、符号部は、符号が負( − )なので 1 、
指数部は、2 + 127 = 129 =( 10000001 )2より 10000001、
仮数部は、0.625 = 1/2 + 1/23 =( 0.101 )2より 10100000000000000000000 である。
実数 13.0 をこの方式で表現したとき、最も適切なものはどれか。
( 1 )実数を、0 ≦ x < 1 であるxを用いて ± 2α ×( 1 + x )の形に変形する。
( 2 )符号部 1 文字を、符号が正( + )のとき 0 、負( − )のとき 1 と定める。
( 3 )指数部 8 文字を、α + 127 の値を 2 進数に直した文字列で定める。
( 4 )仮数部 23 文字を、x の値を 2 進数に直したときの 0 , 1 の列を小数点以下順に並べたもので定める。
例えば、−6.5 を表現すると、−6.5 = −22 ×( 1 + 0.625 )であり、符号部は、符号が負( − )なので 1 、
指数部は、2 + 127 = 129 =( 10000001 )2より 10000001、
仮数部は、0.625 = 1/2 + 1/23 =( 0.101 )2より 10100000000000000000000 である。
実数 13.0 をこの方式で表現したとき、最も適切なものはどれか。
- 符号部:1 指数部:10000010 仮数部:10100000000000000000000
- 符号部:1 指数部:10000001 仮数部:10010000000000000000000
- 符号部:0 指数部:10000001 仮数部:10010000000000000000000
- 符号部:0 指数部:10000001 仮数部:10100000000000000000000
- 符号部:0 指数部:10000010 仮数部:10100000000000000000000
正解!素晴らしいです
残念...
この過去問の解説 (3件)
01
2進数を用いて計算機の情報処理について考えさせる問題は基本問題としてよく出題されます。問題文をよく読んで整理しながら落ち着いて解答していきましょう。
13.0は、+2^3 < 13.0 < +2^4であるので、a=3になります。
13.0=+2^3 x (1+x) を変形して、x=13/8 – 1 = 0.625となりますので、x=0.625となります。
ここまでをまとめると、
符号部は正なので0、指数部は、3+127=130を2進数に直した文字列なので10000010、仮数部は、例題と同じく0.625であることから10100000000000000000000と表されます。
以上から、正解選択肢は5.となります。
参考になった数20
この解説の修正を提案する
02
<正解>5
[解説]
計算機内部での単精度浮動小数表現の問題です。
問題文に与えられた条件により、実数13.0は以下のとおり表すことができます。
1)-6.5=-22×( 1+0.625 )であることから
13.0 = 2 ×22×( 1+0.625 )となり、
13.0 = 2³ × (1+0.625)
と表すことができます。
2)符号部は
符号が正(+)であることから、 0 となります。
3)指数部は、
3 + 127 = 130 = (10000010)₂であることから
10000010 となります。
4)仮数部は、
0.625=1/2+1/2³=(0.101)₂であることから
10100000000000000000000となります。
以上のことから、
実数13.0は、
符号部0
指数部10000010
仮数部10100000000000000000000
と表現されることになります。
したがって、5が正解となります。
参考になった数6
この解説の修正を提案する
03
13 = 8 × 1.625
= 2^3 × (1 + 0.625)
符号部は正なので 0 です。
指数部は 3 + 127 = 130 = (10000010)2 なので 10000010 です。
仮数部は 0.625 = (0.101)2 なので 10100000000000000000000 です。
よって答えは5です。
参考になった数5
この解説の修正を提案する
前の問題(問9)へ
令和元年度(2019年)再試験問題一覧
次の問題(問11)へ