アンケート一覧ページでアンケートを探す

回答受付が終了しました

float は ±1.5*10^-45 から±3.4*10^38 までの値とかいてあるのに 小数6桁までしか正確に表示できないってすくなすぎませんか? 教えてください。

新機能 AI回答テストを実施中! テスト対象カテゴリ:歴史・悩み相談 ※回答がつかない場合は、画面のリロードをお試しください

回答(4件)

そうかい? 円周率だって一般的には3.14で計算するだろ? 計算順序を適正化すれば(特に割り算のタイミング重要)案外それで充分なのさ。 それに、イマドキのコンピュータは倍精度(C言語でいうところのdouble型)を機械語レベルで扱えるから、「それじゃ困る」ってんならそっちを使えばいい。

NEW! この回答はいかがでしたか? リアクションしてみよう

まあ、有効数字が6桁も必要ない用途もありますから・・・ →特にメモリが小さかった時代では 私が携わってきたプロジェクトでは使用禁止が結構あります。

有効数字が10進において約6桁しかないのは確かに少なく見えますね でも、科学計算なんてそもそも元データを厳密に測定できないので有効数字3桁程度で計算すれば十分な応用が非常に多い 実質的に有効数字6桁も有れば十分高精度! 「必用精度」をしっかり考察した上で、制度が「足りない時のみ」 double を使えばよい

(***********さん) 指定子 %f はデフォルトでは小数以下6桁表示となります 小数以下数を指定すれば指定された桁数で表示されます。 floatの有効桁数は6~7桁なのでそれ以上表示しても意味は無いですけど... ちなみにdoubleの有効桁数は15~16になります。