MENU

2-07 コンピュータでの実数の表現

今回の授業の目標

  • 浮動小数点数の仕組みを理解する
  • 10進数を2進数の浮動小数点数に変換できるようになる
  • なぜこの方法が使われるのかを説明できるようになる

1. 浮動小数点数とは

これまで整数の表現について学びましたが、小数部分を含む実数はどのように表現するのでしょうか?

身近な例:科学記号法

理科で習った科学記号法を思い出してみましょう:

  • 光の速度:300,000,000 m/s = 3.0 × 10⁸ m/s
  • 電子の質量:0.000000000000000000000000000911 kg = 9.11 × 10⁻³¹ kg

この方法により、とても大きな数からとても小さな数まで効率的に表現できます。

コンピュータでの実数表現:浮動小数点数

コンピュータでも同様の方法を使います。実数を以下の3つの部分に分けて表現する方法を浮動小数点数といいます:

符号部 × 基数^指数部 × 仮数部

10進数での例

  • $-423$ = (-) × 10² × 4.23
  • $0.375$ = (+) × 10⁻¹ × 3.75

2. 2進数での浮動小数点数

コンピュータでは0と1しか使えないため、基数は2、そして次のような工夫をします:

部分表現方法説明
符号部0=正、1=負1ビットで正負を区別
指数部バイアス値 ($01111_2=15_{10}$) を加える小さな数も表現できるようにする
仮数部最上位の1を省略精度を向上させる

16ビット浮動小数点数の構成

[符号部1ビット] [指数部5ビット] [仮数部10ビット]

コメント

コメントする