Okapi Project   Web technological site for the beginner... Top

データ表現

浮動小数点数

浮動小数点数は  A×10x  という式でxの値を操作することで大きな値を表現したり、小さな値を表現する方式です。

浮動少数点数の構成は特殊で、Aの値を示す仮数部、xの値を示す指数部で構成されています。

たとえば  -4×102 = -400  という表現を10100100 で表します。

頭の1ビット、1が表現する数値全体の符号(-)となり、次の3ビット、010が2の補数で表現された指数部となります。(2)

後ろの4ビット、0100が2進数で表現された仮数部(4)となります。

今回概念を理解するために簡易的に説明しています。

実際、コンピュータの世界では、通常、A×10x の10(基数)で計算するのではなく、A×2x で計算します。 また、仮数部を算出するには、表現したい数字に近いA×2xのAとXの値を求めることになります。

 

float

浮動少数で表現される大きな数値と小さな数値を足した場合、小さな数値は切り捨てられるかたちとなり、計算結果に変化がないということもあります。

左下の8ビットで表現される浮動少数同士の計算の例

7000000 + 0.005

と計算しても7000000に対して0.005という数値はあまりにも小さいため、0.005は切り捨てられて

7000000 + 0.005 ≒7000000 となってしまいます。

この表現方法の利点は小さなデータ領域で広範囲な数値表現を可能としている点ですが、欠点としては、細かい数字が省略されるために、計算結果が正確ではない可能性があることです。そのため厳密な正確さを求めない場合のみに使用する表現方法です。