ある数を、$A\times B^C$ という形で表現したとき、$A$ を仮数部、$B$ を基数、$C$ を指数部と言う。
浮動小数点数の意味と、仮数部・指数部の計算方法について。
具体例
例えば、$128$ という数は、$1.28\times 10^2$ という形で表現することができます。このように、$A\times B^C$ という形(ただし、$A$ は $1$ 以上、$B$ 以下)で表現された数を浮動小数点数と言います。
$1.28$ が仮数部、$10$ が基数、$2$ が指数部になります。
また、$128$ という数は、$1\times 2^7$ というように表現することもできます。この表現に対しては、$1$ が仮数部、$2$ が基数、$7$ が指数部になります。
仮数部と指数部の計算
コンピューターで計算を行うときには $B=2$ とすることがほとんどです(基数を $2$ として考える方式を二進法と言います)。というわけで、ここでは $B=2$ の場合について、仮数部と指数部を計算してみます。
練習問題
$20.25$ を(基数が $2$ の)浮動小数点数として表現せよ。
解答
STEP1 $20.25$ を二進数で表す:
$20.25=16+4+\dfrac{1}{4}=2^4+2^2+2^{-2}$ なので,
$20.25$ を二進法で表現すると、$10100.01$ となります。
STEP2 仮数部の頭が $1$ になるようにシフトする
二進法で $10100.01$ という数は、$1.010001\times 2^{4}$ と表現することができます(4桁シフトしました)。
よって、答えは$1.010001\times 2^{4}$です。仮数部が $1.010001$ で、指数部が $4$ です。
ちなみに
・$20.25$ は綺麗に二進数で表現することができましたが、($10$ 進数で綺麗な数が)いつも二進数で綺麗に表現できるとは限りません(無限に続く小数になることもある)。コンピューターは(基本的に)無限に続く小数を扱えないので、途中で打ち切る(近似)ことになります。
・浮動小数点数においても、負の数は頭にマイナスをつけて表現します。このマイナス部分を符号部と言います。プラスの場合符号部は省略できます。
次回は 丸め誤差、打ち切り誤差、情報落ち、桁落ちの意味と例 を解説します。