数値を図に示す16ビットの浮動小数点方式で表すとき、10進数0.25を正規化した表現はどれか。ここでの正規化は、仮数部の最上位けたが0にならないように指数部と仮数部を調整する操作とする。

【問題】

数値を図に示す16ビットの浮動小数点方式で表すとき、10進数0.25を正規化した表現はどれか。ここでの正規化は、仮数部の最上位けたが0にならないように指数部と仮数部を調整する操作とする。

1ビットの仮数部の符号s(0:正、1:負)

4ビットの指数部の符号e(2を基数とし、負数は2の補数で表現)

11ビットの仮数部の符号f(符号なし2進数)

さらに、小数点の位置はeとfの間とする。

【解答】

「仮数部の最上位けたが0にならないようにする」とは、0.25を2進数で表し、0.XXXXXとすることを意味するから、まずは0.25を2進数に変換する。

0.25 x 2 = 0.5

0.5 x 2 = 1.0

よって、10進数の0.25は2進数の0.01と表すことが出来る。

さらに、0.01を0.XXXXXと変えるので、

0.01 = 0.1 x 2^-1

となる。

ここで、s、e、fをそれぞれ具体的に当てはめると、

s = 0、e = -1、f = 10000000000

であることが分かる。

さらに、e = -1 について、負数は2の補数で表現するとあるから、2進数に変換し、ビットを入れ替え、1を足すことで表現できる。

-1 → 0001 → 1110 → 1111

よって、e = 1111 と表現する。

以上により、 s = 0、 e = 1111、f = 10000000000 となる。

↓クリックしていただけると励みになります↓
にほんブログ村 株ブログ 株日記へ にほんブログ村 メンタルヘルスブログ 統合失調症へ にほんブログ村 為替ブログ 為替日記へ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする