★小数の表現★


コンピュータで小数を表す場合、大きく分けて2通りの方法があります。

1つは「固定小数点」、もう1つは「浮動小数点」です。

まずは、分かりやすく10進数で書いてみます。


・固定小数点


例えば、「+123.456」というような、普段見慣れた?形の表現方法です。

浮動小数点と違い、小数点の位置は固定です。(といっても、まだ浮動小数は説明していないですが・・・)


・浮動小数点


上の「+123.456」を浮動小数点で書くと、

  +0.123456 × 10の3乗

のような形になります。

どちらも同じ数値を表していますが、表現方法が異なるだけです。

小数点の位置が左へ3桁移動しています。

  +              の部分を「符号」

  0.123456の部分を「仮数」

  10            の部分を「基数」

  3              の部分を「指数」

といいます。

「符号」「仮数」 × 「基数」の「指数」乗

という表現方法です。


なぜ、こんなややこしい表現方法があるのか例を挙げます。

固定小数点で、+100.0という数値があったとします。

これを浮動小数点で表すと、

  +0.1 × 10の3乗

となります。

これをお互い100倍してみます。

固定小数点では、+10000.0となります。

浮動小数点では、

  +0.1 × 10の5乗

です。

さらに100倍してみます。

固定小数点では、+1000000.0となります。

浮動小数点では、

  +0.1 × 10の7乗

です。

固定小数点では、桁数がどんどん増えているのがわかるでしょう。

浮動小数点では、「指数」が増えているだけです。

つまり、浮動小数点の方が、少ない桁数で、より大きな数やより小さな数を表現できます

コンピュータ内部では、これを2進数で行っています。

コンピュータはどんな大きな数や小さな数も扱えるというイメージがありがちですが、実際には限界があります。

詳しくは、「変数について」のところで書きます。

気が向いたら「誤差」のことも含めて書きますね。


ブラウザの戻るボタンで戻ってください。