• 締切済み

float と double

float と double は 表示できる桁数の違いですが、doubleの方が大きいので、常にdoubleを使えばいいと思うのですが。

みんなの回答

  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.4

今の普通のPC用のプログラムを作っているなら、何も考えないでプログラムすると、doubleのほうがfloatよりもずっと計算が速いです。 というか、floatの計算は、まずfloatをdoubleに変換してdoubleで計算したあと、またfloatに変換って処理になります。 SIMD命令を使うとか、GPUで計算とかするなら、floatのほうが速いですけど。

  • isle
  • ベストアンサー率51% (77/150)
回答No.3

常にdoubleしか使えなかったら3Dゲームのポリゴン数が激減します。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

確かに現在のWindows環境のみで言えば、floatでもdoubleでもたいした差が無いのでそう思えるかもしれません。 でも、昔はfloatとdoubleで計算時間にえらく差があったので計算精度か実行速度かを選らば無くてはならなかったのです。それに、未だにC言語が使われている全てのCPUが高速に浮動小数点演算が出来るわけではありませんので、2つの型の存在に意味があります。 あと、floatとdoubleでは2倍もデータサイズが違いますので、沢山のデータが集まるとその差は圧倒的なものになります。ある程度規模の開発では、メモリ使用量、ファイルサイズと精度を考慮してfloatかdoubleを選ぶ必要が生じます。

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.1

そのぶんdoubleではメモリをたくさん喰います。 またCPUによりますが、doubleよりfloatのほうが計算が速いこともあります。 整数だって、char/short/long/longlong とあって使い分けます。それと同じ。

関連するQ&A