固定小数点と浮動小数点の主な違いは、固定小数点は整数部と分数部に特定の桁数が確保されているのに対し、浮動小数点は整数部と分数部に特定の桁数が確保されていない点です。
固定小数点と浮動小数点は、数字の表現方法の2つです。
固定小数点では、整数部と分数部を表現する桁数が決まっている。
つまり、数字が非常に大きくても小さくても、それぞれの部分の桁数が決まっているのです。
一方、浮動小数点では、整数部と分数部を表現するための桁数は決まっていません。
浮動小数点は、固定小数点に比べ、広い範囲の数を表現することができます。
固定小数点とは
固定点表現には3つのセクションがあります。
それは、単数部、整数部、そして分数部です。
1000.100のような数を想定する。
一番左の端にある1が符号フィールドです。
これは、その数字が負か正かを意味する。
そのあとの000は整数フィールドです。
は基数または小数点です。
基数点以降の数値は分数フィールドです。
固定小数点表現では、基数の前後の桁数を変更することはできない。
例えば、+20.05のような数字を考えてみましょう。
基数の前の2桁と基数の後の2桁を考えると、表現できる最小の数は-99.99、最大の数は+99.99となる。
この場合,20.223のような数値は基数の後に3桁の数字があるため,表現できない。
その代わり、20.22と表現することができる。
これを精度低下という。
実際の値ではなく、あくまで近似値です。
全体として、固定小数点表現によって性能を向上させることができる。
その反面、限られた範囲の値しか表現できない。
浮動小数点とは
浮動小数点表現は、固定小数点表現の限界を克服するために使用することができます。
そのため、最近のほとんどのコンピュータは、メモリに小数点を格納するために浮動小数点表現を使用しています。
非常に大きな数から非常に小さな数まで正確に表現することができる。
科学的記数法に基づいている。
浮動小数点表現による数値は次のようになります。
仮数 +/- 仮数 × 10 指数
符号は、数値が負か正かを示す。
仮数はシグニフィカントまたは分数です。
10は小数の底を定義します。
例えば、22.33は、2.233×101、0.2233×102、0.02233×103などと表すことができる。
これらはすべて同じ数を表します。
浮動小数点表現は常に一意であるとは限りません。
同様に、浮動小数点表現は2進数にも適用できる。
その式は次の通りです。
基数は2です。
仮数 +/- 仮数 x 2 指数
固定小数点と浮動小数点の違い
定義
固定小数点は、実数データ型において、基数点以降の桁数が固定された数値の表現です。
浮動小数点は、範囲と精度のトレードオフをサポートするように、近似値として実数を数式で表現したものです。
番号の表現
固定小数点が限られた範囲の値を表現できるのに対し、浮動小数点は広い範囲の値を表現することができます。
パフォーマンス
固定小数点は浮動小数点より性能が高い。
柔軟性
浮動小数点表現は固定小数点表現よりも柔軟性があります。
結論
固定小数点と浮動小数点は、数字を表現するための2つの方法です。
固定小数点と浮動小数点の違いは、固定小数点は整数部と分数部に特定の桁数が確保されているのに対して、浮動小数点は整数部と分数部に特定の桁数が確保されていないことです。