ケチ表現
物理学で光の速度を表すのに$ 299800000\ m/s とは書かず,$ 2.998 \times 10^8\ m/sなどと書く。このような書き方(に相当する表現)をコンピュータでも使おう,というのが浮動小数点数の考え方である.つまり,整数部分が$ 1ケタ(ただし非$ 0)になるように小数点を移動し,
$ x.yyyyyyyyy \times 10^z
のような書き方をする.
ただし,コンピュータでは,普通$ 2進で計算するので,
$ x.yyyyyyyyy \times 2^z
という形にするのが普通である.
負の数を表す時は,符号を表すビットを用いる.
つまり,符号があれば$ 1,なければ$ 0という$ 1ビットのケタを用意して, 符号を表す.
さて,ここで$ 2進法のメリットが出る.$ 0以外の数を浮動小数点表記にした場合, 上記の$ xの部分(整数部分)は$ 1しかあり得ない.
数字が$ 0と$ 1しかなく,整数部分は$ 0以外の$ 1ケタの数というのだから,$ 1しかないのである.
しかし,$ 1に決まりきっているのなら,その$ 1は書かなくてもわかるはずである.つまり,メモリ中で,$ xの部分は記録しなくてもよいことになり,ここで $ 1ビットだけメモリを節約できる.このようにして,$ 1ビット節約する表現を「けち表現」という.
$ 0でない実数の$ 2進数表現は,当然$ 0でない桁があるわけだから,最上位の$ 1を省略することで,桁数が稼げるというアイディアである.
Reference