【応用情報】 基礎理論-浮動小数点1
■2進数の浮動小数点
<<問題1>>(サンプル:平成18年出題)
10進数などの浮動小数点の表現
と語句の対応は同じですから参考にします。
符号部S 、基数2(決まっているからビット列中に書かない) および ビット列(BOX)の配列順序(じゅんばん)は IEEE方式 も同じです。大きな違いは 指数部で負数を2の補数で表すところでしょう。正規化は仮数部が始めから0がダラダラ連続(^○^)することがないように有効ケタを増やす操作です。IEEE方式も独自の正規化を行っています。
<<解答>>説明です。
10進 0.25 は 2進数で 0. 01。これを
正規化すると 0. 1×2 -1(等式として)。
指数部eの4ビットは -1を2の補数表現で、0001→ (反転)1110 →(1をたす) 1111。
仮数部 f 11ビットは 100 0000 0000。
符号部1ビットは正の数でS=0。
従って
0 / 1111 / 100 0000 0000 (答ウ)。
<<問題2>>
注1 数の絶対値とは 、その数から符号を取り去ったもの。たとえば +5 の絶対値、 - 5 の絶対値は いずれも 5 である。数学の教科書などには A の絶対値を記号|A|で表し、A≧0のとき|A|=A 、A<0のとき|A|=-A。 などの説明があるが、たいへん難しいと思います。
注2 32ビット列で表す単精度形式の他に、IEEE方式では64ビット列で表す倍精度(ばいせいど)形式という浮動小数点も用意されている。 相違点(ちがうこと)は、① 符号部 1ビット、指数部 11ビット、仮数部 52ビットの合わせて 64ビットで表示する。 ② 指数部のゲタはきは 1023をたす。 の2点です。ゲタ 1023 は2進の 11 1111 1111 または 210 - 1 = 100 0000 0000 - 1 と考えれば納得ですか。
<<回答>>>
(1)
ア) 符号部:0 正の数、指数部: 1、仮数部 0. 5 → 2 1×0. 5 = 1 | |
イ)符号:正の数、指数部:1001 は 0111= 7(10)の補数表示、仮数: 0. 5 → 2 -7×0. 5 = 0. 00390625 (有限小数) |
|
エ)負数 -2 1×0. 5 = - 1 |
(2)
① 5. 75= 101. 11(10) = 1. 0111×2 2 | |
符号部: 0、指数部: 2 + 127(ゲタ) = 1000 0001、仮数部: 整数 1 捨てて
01110000…0 (23ビット) 故に、 0 / 1000 0001 / 011 1000 0000 0000 0000 0000 ② 80 = 2 6+2 4 = 1010000 = 1. 01× 2 6 符号部 : 1 (負数)、指数部: 6+127 = 1000 0101 、仮数部: 0100000…0 (23ビット) 故に 1 / 1000 0101 / 010 0000 0000 0000 0000 0000 |
The comments to this entry are closed.
Comments