戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2015年 秋期 午後 問02


浮動小数点数に関する次の記述を読んで、設問1~4に答えよ。

 α = 0、又は1≦|α|<2を満たすα、及び−126≦β≦127を満たすβを用いてα×の形で表記される浮動小数点数を、図1に示す32ビット単精度浮動小数点形式の表現(以下、単精度表現という)で近似する。
基本情報技術者試験(平成27年 午後 問2 図1)
(1) 符号部(ビット番号31)  αの値が正のとき0、負のとき1が入る。
(2) 指数部(ビット番号30〜23)  βの値に127を加えた値が2進数で入る。
(3) 仮数部(ビット番号22〜0)  |α|の整数部分1を省略し、残りの小数部分が、ビット番号22に小数第1位が来るような2進数で入る。このとき、仮数部に格納できない部分については切り捨てる。
(4) αの値が0の場合、符号部、指数部、仮数部ともに0とする。    なお、値の記述として、単にαと記述した場合は、αは10進数表記であり、と記述した場合はαがn進数表記であることを示す。例えば、は0.625と同じ値を表す。また、00…0という表記は、0が連続していることを表す。

設問1:

問題文を見る
 0.625を単精度表現したときに指数部に入る値として正しい答えを、解答群の中から選べ。   解答群  ア:  イ:  ウ:  エ:  オ:

模範解答

イ

解説

解答の導き方

問われているのは、を単精度表現にしたときの指数部です。単精度表現は、数を符号部・指数部・仮数部に分けて表す形式です。
まず、を2進数で表すと、問題文の例にあるとおり、です。ただし、浮動小数点数は「を満たす」を使って表します。そこで、小数点の位置を調整して、次の形にします。
は10進数でです。そのため、となり、条件に合うは、はです。
次に、本文の「の値に127を加えた値が2進数で入る」という規則を使います。
指数部は8ビットなので、を8ビットの2進数にするとです。これを4ビットずつ区切って16進数に直すと、になります。したがって、解答群ではイを選びます。

誤りやすいポイント

  • 指数部に入れるのは、そのものではありません。に127を加えた値です。
  • をそのままにしてはいけません。本文では、の絶対値が以上未満となる形で表します。
  • を求めた後、指数部の値を16進数で答える点にも注意してください。はです。

FAQ

Q: なぜ指数部にではなくを入れるのですか?
A: 指数部には、実際の指数ではなく、の値を格納する規則だからです。今回はとなります。
Q: をそのまま使えないのですか?
A: そのままでは、の絶対値が以上未満という条件を満たしません。と表し直すことで、条件に合う形になります。
Q: 符号部や仮数部も計算する必要がありますか?
A: この設問で問われているのは指数部だけです。指数部を求めるには、まず数をの形に直し、を計算します。

関連キーワード: 浮動小数点数、2進数、正規化、指数部、バイアス表現

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

 次の単精度表現された数値として正しい答えを、解答群の中から選べ。 基本情報技術者試験(平成27年 午後 問2 設問02図)
解答群  ア:0.125  イ:0.25  ウ:0.375  エ:0.5  オ:0.75  カ:1.5

模範解答

オ

解説

解答の導き方

図のビット列から、符号部、指数部、仮数部を順に読み取ります。符号部は正負、指数部は の何乗を掛けるか、仮数部は数の大きさの部分を表します。
  1. 符号部を確認します。
    ビット31は です。問題文には「αの値が正のとき0」とあるため、表す数は正です。
  2. 指数部から を求めます。
    ビット30〜23を並べると、 です。これは10進数で です。
    問題文では、指数部に「βの値に127を加えた値」が入ると説明されています。したがって、
    となり、 です。
  3. 仮数部から を求めます。
    仮数部はビット22から始まります。図ではビット22が で、それ以降のビットは です。
    問題文には、仮数部では の整数部分の を省略するとあります。したがって、仮数部に格納された の前に省略された を補うと、 です。
    は、
    です。符号部が で正なので、 となります。
  4. を計算します。
したがって、選択肢では 0.75 です。

誤りやすいポイント

  • 指数部の値 を、そのまま と考えないようにします。指数部には が格納されているため、 を引いて を求めます。
  • 仮数部の だけを数の大きさと考えないようにします。省略されている整数部分の を補うので、 は です。
  • だけで答えを決めず、指数 も反映します。実際の値は を で割った です。

FAQ

Q: 指数部が なのに、なぜ指数が なのですか?
A: 指数部には、実際の指数 に を加えた値が入るためです。 と求めます。
Q: 仮数部の先頭の は、どこから来るのですか?
A: 問題文で、 の整数部分の は省略して格納すると定められているためです。ビット22以降に格納された部分の前に を補います。
Q: 符号部が でも、答えが とは限らないのですか?
A: 符号部は数の正負を表します。 は正を表し、数そのものが という意味ではありません。

関連キーワード: 浮動小数点数、単精度浮動小数点形式、符号部、指数部、仮数部、指数バイアス

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

 次の記述中のに入れる正しい答えを、解答群の中から選べ。    二つの浮動小数点数AとBの加算を行う。
基本情報技術者試験(平成27年 午後 問2 設問03図)
基本情報技術者試験(平成27年 午後 問2 設問03図2)
 AとBの加算を、次の①、②の手順で行う。  ① 指数部の値を大きい方に合わせる。Aがであることから、Bをとする。
 ② 加算を行う。   aに関する解答群  ア:0.001  イ:0.01  ウ:0.011  エ:0.1  オ:0.11  カ:1.1   bに関する解答群  ア:3  イ:4  ウ:5  エ:6  オ:130  カ:131  キ:132

模範解答

a:オ、b:イ

解説

解答の導き方

この問題では、AとBの指数をそろえてから加算し、結果を指定された形で表します。指数は、数を何倍するかを表す部分です。仮数は、指数を除いた数の部分です。
まず、Aは問題文に「」とあります。したがって、Aの指数はです。
次に、Bの単精度表現を読み取ります。符号部がなので、Bは負の数です。指数部はで、10進数ではです。問題文には「βの値に127を加えた値が2進数で入る」とあるため、実際の指数はです。また、仮数部の先頭はなので、仮数はです。よって、Bはです。
①では、指数を大きい方のにそろえます。指数をからへ増やすと、数の値を変えないために仮数を半分にします。2進数では小数点を左へ1桁動かすことにあたります。
したがって、空欄にはが入ります。選択肢はオです。
②では、指数がそろったので仮数を加算します。小数点の位置をそろえて計算すると、次のとおりです。
ここで、は指定された形のに直すと、です。したがって、
となり、空欄にはが入ります。選択肢はイです。

誤りやすいポイント

  • 指数部には実際の指数そのものではなく、実際の指数にを加えた値が入ります。Bの実際の指数は、指数部の値からを引いて求めます。
  • 指数をそろえるときは、仮数の位置も調整します。指数を増やした場合、仮数は半分になります。
  • Bは負の数です。空欄には仮数の大きさを入れ、負の符号は式にある「」で表します。
  • 加算後のを、そのままの形に当てはめないようにします。に直すときは指数も小さくなります。

FAQ

Q: 指数を増やしたのに、仮数を半分にするのはなぜですか?
A: 指数を増やすと、のべき乗は倍になります。数全体の値を変えないためには、仮数を半分にする必要があります。
Q: 空欄に負の値を入れないのはなぜですか?
A: 式に「」とあり、負の符号はすでに式に含まれているためです。空欄には仮数の大きさだけを入れます。
Q: 加算後の指数がではなくになるのはなぜですか?
A: 加算した結果の仮数がになり、これをの形に直すと仮数が倍になります。その分、指数を小さくして、数全体の値を保ちます。

関連キーワード: 浮動小数点数、単精度浮動小数点形式、指数バイアス、仮数部、2進数の桁合わせ

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

 次の記述中のに入れる正しい答えを、解答群の中から選べ。    設問3のAについてA × 10の値は、次の①〜③の手順で求めることができる。  ① A × 8の値を求める。  A × 8 =  ② A × 2の値を同様に求める。  ③ ①と②の結果を加算する。  加算結果を単精度表現すると、cになる。   cに関する解答群 基本情報技術者試験(平成27年 午後 問2 設問4 cに関する解答群)

模範解答

c:ウ

解説

解答の導き方

求めるのは、設問3の に対する の値を単精度表現にしたものです。問題文では、 を求めた後、 を求めて足す手順が示されています。
まず、問題文の式から と分かります。ここで は10進数の なので、 は次のように計算できます。
次に、 だけでなく、 でもあることから、
です。これらを足すと、
となります。2進数で足すと、次のとおりです。
この結果を、先頭が になる形で表すと、
です。したがって、符号部は正の数なので 、指数に当たる は です。問題文の「 の値に127を加えた値」が指数部に入るという規則から、指数部は
となります。
仮数部には、問題文の規則どおり、先頭の整数部分 を入れず、その後の小数部分を入れます。 の小数部分は で、その後はすべて です。
よって、符号部・指数部・仮数部を並べると、ビット位置31から順に
となります。この並びに当たる選択肢はウです。

誤りやすいポイント

  • の「10」を、指数の10と取り違えないようにします。ここでは と分けて、 と の結果を足します。
  • 指数部には の値をそのまま入れるのではありません。問題文の規則に従い、 を2進数にして入れます。
  • 仮数部には、 の先頭の を入れません。小数部分の から始めます。
  • 2進数の足し算では、桁をそろえてから加算します。 と を10進数のまま足すだけでなく、最終的に得た値を2進数で表すところまで確認します。

FAQ

Q: 指数部に127を加えるのはなぜですか?
A: 指数部を、負の値を含めて一定の規則で記録するためです。この問題では、指数 に127を加えた値を指数部に入れると定めています。
Q: 仮数部の先頭の を省略しても、値を復元できますか?
A: この問題の浮動小数点数は、 以外では の絶対値が 以上 未満になる形で表します。そのため、先頭の整数部分は必ず であり、省略しても分かるようになっています。
Q: 仮数部に格納できない部分がある場合はどうしますか?
A: 問題文では切り捨てると定めています。今回の仮数は小数部分が の後すべて なので、切り捨てる必要はありません。

関連キーワード: 浮動小数点数、単精度浮動小数点形式、符号部、指数部、仮数部、2進数

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

戦国ITクイズ機能

\ せっかくなら /

基本情報技術者を
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について