技術士の過去問
平成29年度(2017年)
基礎科目「情報・論理に関するもの」 問8

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

問題

技術士 第一次試験 平成29年度(2017年) 基礎科目「情報・論理に関するもの」 問8 (訂正依頼・報告はこちら)

計算機内部では、数は0と1の組合せで表される。絶対値が2-126以上2128未満の実数を、符号部1文字、指数部8文字、仮数部23文字の合計32文字の0, 1からなる単精度浮動小数表現として、次の手続き1~4によって変換する。

1. 実数を士2a×(1+x)、0≦x<1形に変形する。

2. 符号部1文字は符号が正( + )のとき0、負( - )のとき1とする。

3. 指数部8文字はa+127の値を2進数に直した文字列とする。

4. 仮数部23文字はXの値を2進数に直したとき、小数点以下に表れる23文字分の0, 1からなる文字列とする。

例えば、-6.5=-22×( 1+0.625 )なので、符号部は符号が負(−)より1、
指数部は2+127=129=( 10000001 )2より10000001、
仮数部は0.625=1/2+1/23=( 0.101 )2より10100000000000000000000である。

したがって、実数ー6.5は、
符号部1、指数部10000001、仮数部10100000000000000000000
と表現される。

実数13.0をこの方式で表現したとき、最も適切なものはどれか。
  • 符号部:1  指数部:10000001  仮数部:10010000000000000000000
  • 符号部:1  指数部:10000010  仮数部:10100000000000000000000
  • 符号部:0  指数部:10000001  仮数部:10010000000000000000000
  • 符号部:0  指数部:10000010  仮数部:10100000000000000000000
  • 符号部:0  指数部:10000001  仮数部:10100000000000000000000

次の問題へ

正解!素晴らしいです

残念...

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

01

計算機の表現法に関する問題です。
与えられた条件と例を参考に、最も適切な表現を選択します。

例を参考にすると、13は以下のように表すことができます。
13 = 2³ × (1+0.625) なので、符号部は符号が正(+)より0、
指数部は3+127=130=(10000010)₂より10000010、
仮数部は0.625=1/2+1/2³=(0.101)₂より10100000000000000000000である。

したがって、実数13は、
符号部0、指数部10000010、仮数部10100000000000000000000
と表現されることから、
4が正解です。

参考になった数12

02

正解は4です。
実数13.0について手続き1〜4を行い、符号部、指数部、仮数部を求める問題です。
解説では、2のx乗を2^xと記載します。

13.0 = 8 × 1.625 なので、
13 = 2^3 × (1+0.625) となります。符号部は正なので0です。
指数部は 3 + 127 = 130 = 10000010(2進数)なので、10000010、
対数部は 0.625 = 1/2 + (1/2)^3 = 0.101(2進数)なので、
10100000000000000000000 です。

したがって、符号部:0、指数部:10000010、
仮数部:10100000000000000000000 なので、4が正解です。

参考になった数6

03

<正解>4

[解説]

計算機内部での単精度浮動小数表現の問題です。

問題文に与えられた条件により、

実数13.0は以下のとおり表すことができます。

1)-6.5=-22×( 1+0.625 )であることから、

13 = 2 × 6.5

13 = 2 ×22×( 1+0.625 )となり、

13 = 2³ × (1+0.625)

と表すことができます。

2)符号部は

符号が正(+)であることから、 0 となります。

3)指数部は、

3 + 127 = 130 = (10000010)₂であることから

10000010 となります。

4)仮数部は、

0.625=1/2+1/2³=(0.101)₂であることから

10100000000000000000000となります。

以上のことから、

実数13は、

符号部0

指数部10000010

仮数部10100000000000000000000

と表現されることになります。

したがって、4が正解となります。

参考になった数5