floatとdoubleはどちらも小数を扱う、浮動小数点型を表すものです。
float | double |
32bit | 64bit |
10の38乗まで | 10の308乗まで |
6桁の精度 | 15桁の精度 |
表で見比べるとわかるように、簡単に言うと、doubleはfloatの上位互換といえます。
floatとdoubleの使い分けの違い
以下の順で考えればよいかと思います。
- 基本的には
float
を使えば問題ない - 計算が合わない、桁が多い場合は
double
に代える
じゃあ全部doubleを使えばいいんじゃないの?と思うかもしれませんが、floatのほうがデータ量が少ないので、処理や考える範囲が軽くなるので、無駄にすべてdoubleを使う必要はないということになるかと思います。
(余談ですが、doubleのほうが速くなるという議論をされていたりもしますが、そこまで細かく気にしなくていいかとは思います)