アプリ版:「スタンプのみでお礼する」機能のリリースについて

基本情報技術者試験の勉強をしているのですが、浮動小数点の問題がどうしても解けません。問題を読んでもいまひとつ理解できず、四苦八苦しています。
下記の問題なのですが、教えていただけますでしょうか。
(平成12年に出題された問題(十進数0.375を正規化)は、理解できました)

問題集には解き方が載っているのですが、それが理解できません。解き方は以下です。

26.5を長さ32ビットの浮動小数点で表す

(1) 26.5を16進数に変換

 26.5の2進数:11010.1
 11010.1の16進数:0001 1010 . 1000
1  A . 8  
(2) 小数点位置の移動
       
 小数点を左に2けた移動:1A.8 → (0.1A8) × 16の2乗
 #ここまでは理解できます

(3) 指数部の値16の2乗 → 16の0乗を(1000000)2進数=64とする
 #ここがまるで分かりません
       16の2乗の2を64に加える
       1000000 … 64の2進数
      + 10 … 2の2進数
      ─────
       1000010 … 指数の値とする
 #「16の0乗を1000000=64とする」の部分が分かりません
(4) まとめ
 符号 指数部 仮数部
  0│1000010│0001│1010│1000│00…0
    16の2乗 1  A  8
 #符号と仮数部は理解できるのですが、指数部が分かりません

よろしくお願いいたします。

A 回答 (1件)

確かにつまずきやすいところです。



>指数部の値16の2乗 → 16の0乗を(1000000)2進数=64とする

指数部にも+と-が有る事はお判りですね。
指数部では、2の補数と言うのを使わずに、64のところをゼロ乗と決めたのです。
64より小さければ負、64より大きければ正なのです。
ほんとに紛らわしいですよね。
    • good
    • 1
この回答へのお礼

!!!
なるほど、2の補数のことばかり考えていましたが、そうではなく(1000000)=64のところで正か負を決めるわけですね!
たとえば、16の-2乗だったら、

0000010→1111101

 1111101
+   1
─────
 1111110

 1000000
+1111110
─────
 0111110

→62になりますので負ということですね!

やっと分かりました~(感激)
秋の試験がんばります!
ありがとうございました。

お礼日時:2002/07/10 00:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!