スゴ技

平成27年度 秋 基本情報技術者試験 【問2】

Blog:IT・情報処理BLOG |

ソフトⅡコース担当 ブログのおにーさまこと高橋です。

昨日の情報技術者試験、手ごたえはどうだったでしょうか。合格発表は、基本情報約1か月後、それ以外約2か月後です。楽しみに待ちましょう。

では、早速、今回は平成27年度秋期基本情報技術者試験午後問2の解説です。

浮動小数点数の問題です。設問間でヒントになることがあったりします。

設問1
10進数0.625を2進数に変換すると

  • (0.101)2

です。仮数部は、整数部が1になるようにします。これを正規化といいます。データベースにも正規化という言葉があります。混同することはないと思いますが、気を付けましょう。正規化すると、

  • (1.01)2 × 2-1

です。問題の説明(2)より、指数部には実際の指数に127を加えた値が設定されます。指数部は-1 + 127 = 126です。16進数に変換すると(7E)16となり、正解はイです。

設問2
仮数部は正規化されているので、1を加えて1.1です。指数部は(7E)16で、設問1ができていれば計算するまでもなく-1であることがわかります。(126 – 127= -1)

  • (1.1)2 × 2-1 = (0.11)2 = 0.75

正解はオです。

設問3
浮動小数点数の加算は、指数を合わせると、仮数部の加算になります。このとき、指数部の大きいほうに合わせるようにします。Aは問題にあるように

  • (1.1)2 × 25

です。Bの指数部は、(10000011)2=131です。127を引くと、指数は4になります。と計算しましたが、実は計算しなくても求まります。Aの指数部は(10000100)2、Bの指数部は(10000011)2で、BはAより1小さいです。問題よりAの指数は5なので、Bの指数は4であるとわかります。符号部が1なので、Bは負の数です。以上よりBは

  • -(1.1)2 × 24 = -(0.11)2 × 25

です。加算は

  • (1.1)2 × 25 + (-(0.11)2 × 25 = ((1.1)2 + (-(0.11)2)) × 25 = (0.11)2 × 25 = (1.1)2 × 24

となります。空欄aにはオ、空欄bにはイが入ります。仮数部の加算を図示すると次のようになります。

20151019

問題にはありませんが、2進数の乗算は、仮数部を掛けて、指数部を加算します。

設問4
A × 10は

  • A × 10 = A × (8 + 2) = A × 8 + A × 2

と変形できます。問題よりA × 8=(1.1)2 × 28です。A × 2は

  • A × 2=(1.1)2 × 25 × 21 = (1.1) × 26

です。この2つを加算します。指数を大きいほうに合わせて計算すると、

  • (1.1)2 × 28 + (1.1)2 × 26 = (1.1)2 × 28 + (0.011)2 × 28 = (1.111)2 × 28

です。指数が8なので、指数部は127加えて135 = (10000111)2です。これも、Aの指数5より3大きいので、Aの指数部(10000100)2に(11)2を加えて求める方が簡単でしょう。仮数部は、整数部の1を除いた111000000…0になります。空欄cにはウが入ります。

できなかったと思われる問題を中心に、再度解いておきましょう。

2015年(平成27年度)秋期の解説

Date:

神戸電子の
IT・情報処理学科
についてもっと知りたい!

Webアプリケーション等のシステム管理、設計、開発が行える総合的なITエンジニアを育成する学科です。

学科紹介を見る (神戸電子サイト)

学科紹介イメージ
Info神戸電子からのお知らせ

Tagタグ

Teamライターチーム紹介

神戸電子オフィシャルSNS

オープンキャンパスなどの
誰でも参加OKの楽しいイベント
やブログの最新記事などお届けします!

ページの上へ移動