(3).実数の表現形式
(復習)10進実数を16進にする。
○整数部分⇒通常通り、10進を16進にする。
与えられた数を16で割り、余りを求める。
この操作を繰り返し、商が0になったら、下から余りを並べる。
○小数部分⇒16倍して整数部分の数を求める。
さらに、その小数部分の数を16倍する。この操作を繰り返し、整数部分の数を上から並べる。
(例題) 2011.1027を16進実数にする。
(解答) 2011÷16=125...11
125÷16=7...13
7÷16=0...7 これより、整数部は、
0.1027×16=1.6432
0.6432×16=10.2912
0.2912×16=4.6592
0.6592×16=10.5472
0.5472×16=8.7552
・・・ これより、小数部分は、
以上から、

となる。
現在、使用されている実数表現方式には、「IBM方式」「IEEE(アイトリプルイー)方式」の2通りある。
①.IBM方式 ・・・ 汎用コンピュータで従来使用されていた方式。
②.IEEE574方式 ・・・ 国際標準で制定された方式。マイクロソフト、インテル、モトローラ、などのプロセッサで採用された。現在のパソコンで幅広く使用されている。
①IBM方式の実数表現
単精度実数(4バイト)と倍精度実数(8バイト)は次のように構成される。(16進1桁=4ビット、である。)
|
符号 |
指数部 |
仮数部 |
全体 |
| 単精度実数 |
1ビット |
7ビット(Bias=64) |
24ビット(16進6桁) |
4バイト(32ビット=16進8桁) |
| 倍精度実数 |
1ビット |
7ビット(Bias=64) |
56ビット(16進14桁) |
8バイト(64ビット=16進16桁) |
なお、仮数部ではみ出した部分は「7捨8入」を行う。
符号部分は、「0」なら0または正の数、「1」なら負の数を表す。
(例題1) 1234.56をIBM単精度実数で表す。
(解答例)前回の問題より、B=16として正規化すると、
となり、

がわかる。
符号は正数だから先頭の1ビットは「0」で、

(64はBias。64だけずらして指数部は表現する)
ゆえに、「

」となる。(6桁目は「7捨8入」)している。
(例題2) IBM単精度実数「

」を10進数で表す。
(解答例)

より、先頭1バイトが

なので、符号は「0」で正。
さらに、指数部は、

より、66-64=2.
表現された数は、
より、193である。
Bias(バイアス)について
指数部分は、2進7ビットだから、「

」~「

」まで表現できる。
これは、10進に直すと、「

」~「

」であり、このままだと、大きい数しか取り扱うことが出来ない。
これを回避するために、Bias分だけ、ずらせて表現する。
IBM形式の場合、Bias=

だから、「

」を「

」、「

」を「

」だとして、小さい数も表現できるように対応している。
Biasがあるために、小さい数も表現できるわけである。
最終更新:2011年11月17日 08:57