決め打ちをすることも悪くはない【固定小数点数】

固定小数点数


コンピュータでは数値はすべて2進数で表現されます。その際、小数をはじめとした実数はどのように表現されるのでしょうか?

この記事ではコンピュータにおける小数の表現方式のひとつである固定小数点数について解説していきます。

固定小数点数とは?


固定小数点数は、コンピュータにおいて小数(実数)を表現する方式のひとつです。「固定された小数点の数」という名称から、固定小数点数では小数点位置決め打ちします。

固定小数点数の中身(ビット)


固定小数点数では2の補数が利用されます。これを8ビット(1バイト)で考える場合、最小値は10000000(-128)、最大値は01111111(+127)です。

最上位ビットは符号用ビットとして利用され「0」プラス「1」マイナスを表します。

固定小数点数の特徴


固定小数点数はビットと小数点をそのまま割り当てるため、浮動小数点数よりも扱うことのできる値の範囲が狭いという特徴があります。

扱える値の範囲が狭いことはデメリットですが、同時にメリットでもあります。小数点の位置を決め打ちするため、その原理はとてもシンプルです。そのため計算のさいの処理速度速くなります。

固定小数点数の用途


現代のPCにおいては固定小数点数とは別に浮動小数点数が利用されるケースが多く、固定小数点数が利用される場面は限られてきます。

固定小数点数は、扱う値の範囲が限られる場合に利用されます。たとえばCGコンピュータグラフィックスのこと)等における座標画素値などです。これらの値は極大な値を取ることはありませんから、ある程度固定小数点数でも表現することができます。

また、コンパイラにおける除算最適化にも用いられることがあります。浮動小数点数による計算よりもシフト演算の方が高速で、除算についてはこと顕著です。

単純にビットをズラすだけか、浮動小数点数の表現形式に基づいて計算するかでは、処理の複雑さが大きく異なってきます。

コンピュータで除算をする場合、シフト演算の方が高速であるのはこのような理由によるわけです(最後にちょっと脱線しましたね)。





それでは、今回はここまでといたします。
最後までお読みいただきありがとうございます。


固定小数点数
最新情報をチェックしよう!