計算機内部では,数は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 = -21 × ( 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 |
解答・解説
解答
⑤
解説
具体例が示されていますので,13.0について同じように計算します。
13.0 = 23 × ( 1 + 0.625 ) なので,符号部は符号が正(+)より0,
指数部は 3 + 127 = 130 = (10000010)2より10000010,
仮数部は 0.625=1/2+1/23 = (0.101)2より10100000000000000000000
となります。したがって,実数13.0は,
符号部0,指数部10000010,仮数部10100000000000000000000
と表現されます。
参考情報
過去の出題
オンラインテキスト
(準備中)