next up previous contents index
Next: 文字の内部表現 Up: データの内部表現とその処理 Previous: 除算   Contents   Index

小数の内部表現

前節では整数の表し方について述べたが, 本節では小数はどのように表すかについて述べよう。 小数は,まず 仮数$ \times2^{\text{指数}}$という表現をする。 仮数(mantissa)は通常,1以上10未満の符号付き小数とする 6.8。 また指数(exponent)は,符号付き整数とする。

これで,非常に大きい数からごく小さい数まで, かなりの広い範囲の数を扱うことができる。 ただし,指数と仮数の両者を収容しなければならないので, 相当のビット幅が必要となり,データ幅の小さいCPUでは実現しないことが多い。 例えばUnix6.9の単精度と呼ばれる浮動小数点表示でも32bit幅が要求され, より高精度の計算に使われる倍精度には64bitを割り振っている。 なお,単精度の場合,指数には8bit,仮数に24bitを割り当てることが多い。

小数の加減乗除のやり方については,少し頭をひねれば想像がつくと思うので, 各自,考えてみて欲しいが,概要を述べれば,加減算については, 指数を合わせるように仮数を調整してから,仮数同士の計算を行う。 また,乗除算については, 結果の仮数部は乗除数および被乗除数の仮数同士の乗除算の結果を用い, 結果の指数部は乗除数および被乗除数の指数同士の加減算の結果を用いる。 結果の仮数部の符号については,同符号の際は正,異符号の際は負とする。


next up previous contents index
Next: 文字の内部表現 Up: データの内部表現とその処理 Previous: 除算   Contents   Index
Yoichi OKABE 2010-04-20