Swiftでfloat, doubleの違いとは?

floatとdoubleはどちらも小数を扱う、浮動小数点型を表すものです。

floatdouble
32bit64bit
10の38乗まで10の308乗まで
6桁の精度15桁の精度

DoubleはFloatより広い範囲と高い精度を持つ型です。ただし別々の型なので、代入時などに自動で相互変換されるわけではありません。

floatとdoubleの使い分けの違い

以下の順で考えればよいかと思います。

  1. 特別なサイズやAPIの指定がなければDoubleを使う。Swiftも型を省略した小数リテラルをDoubleと推論する
  2. APIがFloatを要求する場合や、精度・メモリ量の要件がある場合にFloatを選ぶ

Floatは使用するビット数が少ないため、大量の値を保存する場合や、Floatを要求するAPIを使う場合に選ぶ理由があります。必要な精度とメモリ量に合わせて使い分けましょう。

処理速度は環境や計算内容によります。一律にFloatが速いとは限らないため、速度が重要な場合は対象環境で計測しましょう。

Floatは使用するビット数が少ない型ですが、処理速度は環境や計算内容によります。精度やメモリ量、使用するAPIに合わせて選びましょう。Swift公式:Floating-Point Numbers

スポンサーリンク
スポンサーリンク
タイトルとURLをコピーしました