X



float 使うヤツはドシロートかおぢさん
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2008/09/22(月) 11:01:49
なんで double 使わないの?
もう氏んでください。迷惑です。
むかし懐かしい BASIC じゃあるまいし。
何考えてるんだ?

※巨大な配列で float a[10000]; とか取るなら仕方ないです。
 または、他のコンピュータとのデータのやりとりのために
 どうしても相手が float で無ければダメだとか
 そういうのは別ですよ、もちろん。
0002デフォルトの名無しさん
垢版 |
2008/09/22(月) 11:14:52
んなこと言われてもdouble(つーか64ビット浮動小数点数)を
サポートしてないんだもん。文句はハード屋に言ってくれ。
0008デフォルトの名無しさん
垢版 |
2008/09/22(月) 12:45:59
BCD最強!
0013デフォルトの名無しさん
垢版 |
2008/09/22(月) 14:22:25
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
0014アイ
垢版 |
2008/09/22(月) 14:25:54
float なんか使わないだろw、jk。
0016デフォルトの名無しさん
垢版 |
2008/09/22(月) 16:43:32
GPU関連だとfloatにしないと駄目だろJK
doubleなんかで処理してたら処理力半減してるぜ多分
0018デフォルトの名無しさん
垢版 |
2008/09/22(月) 17:18:41
shellプログラマの俺はいつも整数ですけど何か
ロードアベレージ取得して100倍にしますよ当然
0019デフォルトの名無しさん
垢版 |
2008/09/22(月) 18:30:05
数値計算では double じゃないと精度的にマズい場合があるね。
グラフィック関連では float がデフォだが。
0023デフォルトの名無しさん
垢版 |
2008/09/22(月) 21:20:48
昔は、必要な桁数の加減乗除の関数を書いていたけど、今はしない。
言語の方でサポートしてるし。
0027デフォルトの名無しさん
垢版 |
2008/09/22(月) 21:55:52
精度気にしてるのにdoubleとかネタだよな?
Cなら整数計算して桁揃えで除算
JavaならBigDecimalだろJK
0038デフォルトの名無しさん
垢版 |
2008/09/23(火) 09:20:21
>>35
疎なRPC的なものだったらやらないけど、
全部同じアーキテクチャって分かってるなら気にしない。
0039デフォルトの名無しさん
垢版 |
2008/09/24(水) 10:35:37
以前doubleとlong doubleをtypedefで使い分けてたことがあった。
実際には変数の型だけでなくprintf/scanf系のフォーマットストリングも変えないと
いけなかったりする。プラットフォーム毎に違ったりもするし。

本当は多倍長計算の型もシームレスに使いたかったがそのときは適当な実装が
なかったので断念した。例えば多倍長同士の足し算を+でやったりとかできなかった。
必然的にC++ということになるわけだが...
0044デフォルトの名無しさん
垢版 |
2008/09/27(土) 21:34:01
double配列だとメモリ上にdouble word alignmentされるかどうかで
性能が違ったりね。今はちゃんとアーキテクチャを判断してコンパイラがやってくれるの?
0047デフォルトの名無しさん
垢版 |
2008/10/02(木) 23:52:04
floatだとなぜかおかしくなるけど
doubleだとうまくいきます!
ということですねわかります
0058,,・´∀`・,,)っ-○◎●
垢版 |
2008/10/12(日) 15:23:27
別にCellでなくてもいいよ。
ゲームで固定小数が持て囃されたのはx86でいうとMMXが登場してからSSEが出るまでまで。
PS1も固定小数中心だったっけな。

SSE以降のx86やナウいゲーム機でハードウェア浮動小数使わないのはただの馬鹿だろ。
パフォーマンスの実測もやらずに整数の方が速いと思い込んでるだけの痛い子。
0060デフォルトの名無しさん
垢版 |
2008/10/12(日) 18:16:14
>>59
無理に団子を貶す結論に落とさなくても充分ですよ。このスレの流れなんて元々ありゃしないのだから。
0069,,・´∀`・,,)っ-○◎●
垢版 |
2008/10/15(水) 00:11:06
51 名前:デフォルトの名無しさん[sage] 投稿日:2008/10/04(土) 02:46:43
>ゲームプログラマを全員ドシロウト呼ばわりとは

ゲームは速度重視で整数だろ

この恥ずかしい発言を恥ずかしいと思わない馬鹿は本人以外にないだろ
0070,,・´∀`・,,)っ-○◎●
垢版 |
2008/10/15(水) 00:16:59
別に>>51でなくともいいが、一体どこの世界のどこのゲームがfloatの代わりに整数を使ってるのか答えてみろよ。
008067=56
垢版 |
2008/10/15(水) 09:56:00
>>68
きちがい怖い…
0087デフォルトの名無しさん
垢版 |
2009/08/28(金) 22:02:05
だな
0089デフォルトの名無しさん
垢版 |
2009/08/29(土) 06:07:56
なんで2chっていつもこうなの?
英語圏のフォーラムなんか実に有意義な技術的議論が
日々飛び交ってるのに
もうやだこの国
0091デフォルトの名無しさん
垢版 |
2009/08/29(土) 21:56:15
一理ある
0093デフォルトの名無しさん
垢版 |
2009/08/31(月) 03:36:49
>>89
(ここは2chだから)しゃーない
0094デフォルトの名無しさん
垢版 |
2009/08/31(月) 07:37:05
doubleとfloatの演算速度は変わらなくなってるし
浮動小数点が主に使われる3D分野がfloatに固執してるということ以外に
もうfloatの存在価値はないね
0096デフォルトの名無しさん
垢版 |
2009/08/31(月) 15:36:23
>>94
なんでfloatに固執しているか知ってるよね?
floatで精度は十分な上に帯域幅の問題
純粋に1/2になるから

32bit幅なら丁度合うし
0097デフォルトの名無しさん
垢版 |
2009/09/01(火) 12:29:16
>>94
実際、floatならvectorizeできるのにdoubleではできない状況だと所要時間が倍違ってくる。
最近のXeonだと画像なり周波数空間像なりがキャッシュに載るかどうかの瀬戸際だから、
floatならキャッシュに載り切る状況ならそこでも所要時間が倍以上違ってくる。
従って、floatの存在も馬鹿にしたもんじゃない。
0098デフォルトの名無しさん
垢版 |
2009/09/01(火) 14:26:44
入門程度のどうでもいい練習ソース書くときに、最近はdoubleで余裕って刷り込まれるからな。
0100デフォルトの名無しさん
垢版 |
2009/09/01(火) 15:27:35
混在はいかんね。floatとdoubleの変換は、一回の加減乗に較べて一桁以上遅い。

で、こんなコードを書いてたり。
#if defined(USE_DOUBLE)
typedef double Float;
#elif defined(USE_FLOAT)
typedef float Float;
#else
#error USE_FLOAT or USE_DOUBLE is needed.
#endif
Float foo = Float(3.14);
0106100=103
垢版 |
2009/09/01(火) 18:07:03
>>105
そもそもそれが問題になるところでは使わないから大丈夫。

>>104
std::min(f, 1.f)で何か不満でも?
0109デフォルトの名無しさん
垢版 |
2009/09/02(水) 02:42:18
ゆとりだろ。
若しくはソースを見る人への思いやりがない人。
0110デフォルトの名無しさん
垢版 |
2009/09/02(水) 03:07:01
・昔のC言語だとfloatをfloatのまま演算することが無く、よほどメモリを食う場合以外
doubleの方が速かった(この頃は「floatはdoubleより遅いからメモリ節約くらいしか
役に立たない」という教育がされたので、その頃から知識を更新してないド素人か老害
>>1のように思い続けている)
・今のC言語コンパイラでは、floatはfloatのまま演算させることが普通
・最近の環境では一般に、floatもdoubleも速度は変わらないことが多いが、SIMD命令
だと普通はfloatが速く、メモリ効率もfloatの方がいいのでfloatが速度的には有利
・精度はdoubleの方が圧倒的にマシ(というかfloatの精度はかなりひどいので要注意)

まぁ、現時点では用途で使い分けだな。それも、あくまでも現時点での話だが。
0111デフォルトの名無しさん
垢版 |
2009/09/02(水) 09:28:40
>>110
一つだけ補足。SIMD命令ではfloatが速いということがメリットなのではない。
SIMDなので、並列度が高くなることの方が重要。
0115デフォルトの名無しさん
垢版 |
2009/09/02(水) 11:55:43
ゲームはお遊びだが、ゲームプログラミングはお遊びには程遠いな
言葉遊びの習慣がある奴は人から信用されないぞ
0116デフォルトの名無しさん
垢版 |
2009/09/02(水) 13:16:05
>>115
>言葉遊びの習慣がある奴
一瞬、「そりゃお前のことじゃね?」と思ってしまった。
が、結局誰を指して言ってるんだ?
0120デフォルトの名無しさん
垢版 |
2009/09/02(水) 15:55:34
CPUってもう64bitがデフォルトになってるから64bitでレジスタもワイヤーも組んであって
むしろ32bitをわざわざ64bitレジスタに乗っけてるような状態だから
double常用でぜんぜんいいんだけど
IPV4だのIPV5だの中途半端なものがfloatだよ
状況によってはdoubleより早いかもしらんが、doubleしかなきゃないで誰も困らないだろ
さっさと64bitに統一してしまえ
0122デフォルトの名無しさん
垢版 |
2009/09/02(水) 16:56:20
>>120
>IPV5だの
そんな規格は存在しません。
>doubleしかなきゃないで誰も困らないだろ
ときどきは通信速度のことも思い出してあげてください。
0126デフォルトの名無しさん
垢版 |
2009/09/02(水) 18:41:29
floatをdoubleにするだけで、
性能が1/10になっちゃうなんて言われたら
そんな簡単にいらないなんて言えないよ
0127デフォルトの名無しさん
垢版 |
2009/09/02(水) 20:22:15
doubleしかなきゃないできっと誰も困らないが、現にdoubleより速くて精度の低い
floatがあるから使い分けなきゃ駄目なんだよ、現実は面倒だね

この程度が面倒ならプログラマなんかやってられねーけどな
0129デフォルトの名無しさん
垢版 |
2009/09/03(木) 01:40:58
>>120
おまえみたいな考え方の奴がいるせいで日本の経済格差が広がるんだろうな
0130デフォルトの名無しさん
垢版 |
2009/09/29(火) 11:34:13
最近のマシンじゃ処理時間なんて扱うメモリ量で殆ど決まるからなー。
大きなベクトルや行列演算なんかするとfloatとdoubleできっかり2倍違う。
0132デフォルトの名無しさん
垢版 |
2011/06/01(水) 01:27:12.34
      __
    , '´   ヽ
   .{ i{ノハ从k}   ./)
   ヽ!l|, ゚ ヮ゚ノリ、//  よい
     /' );-さ-リつヾ
   / Uノ_i_iヽ
   へノ し'-/調子     
 """"""""""""""
      __
    , '´   ヽ
   .{ i{ノハ从k}   ./)
   ヽ!l|, ゚ ヮ゚ノリ、//  しょっと。
     /' );-さ-リつヾ
   / Uノ_i_iヽ  
   へノ し'ノ  
      調子
 """""""""""""""""
0137デフォルトの名無しさん
垢版 |
2011/06/15(水) 00:36:11.63
そうだね、悔しいよね
0138デフォルトの名無しさん
垢版 |
2011/06/26(日) 19:51:58.90
>>1

知ったかぶりすんな、この屑が
0139デフォルトの名無しさん
垢版 |
2011/11/20(日) 14:25:21.06
さあ
0141デフォルトの名無しさん
垢版 |
2012/03/25(日) 13:14:43.00
某ゲームパブリッシャで通販頼むと
佐川急便の問い合わせ番号が【4.61557E+11】で表示されるとかいうツイートを見たんだが
何が起きているのか
0142デフォルトの名無しさん
垢版 |
2012/09/11(火) 12:23:08.34
float に限らず、変数はきちんとしないとダメですね。
MS Word のドローモードでズーム8回(2^8倍)未満
でも座標が丸まってしまって、ちゃんとピック出来
なかったり、ラバーバンドと再描画結果がずれるのを
見ると、とてもガッカリしますよね。
なんで座標を最後まで固定少数、浮動少数にして計算
していなんでしょうかね?
バカですかね?
0145デフォルトの名無しさん
垢版 |
2012/10/13(土) 03:08:38.55
ない。恐らく作ってもメリットが殆どない。どうしてもやりたければ、doubleを精度を制限して使う位か。
0148デフォルトの名無しさん
垢版 |
2012/10/13(土) 19:45:31.63
8087のメンツ維持のためには拡張倍精度の策定は不可避だったんだろうな。
じゃあついでに拡張単精度も定めようと。

それ以上の意義はたぶん無い。
0149デフォルトの名無しさん
垢版 |
2013/07/12(金) NY:AN:NY.AN
age
0153デフォルトの名無しさん
垢版 |
2013/08/09(金) NY:AN:NY.AN
floatは数が大きくなると、最小の刻みが2以上になって、
1足せないと聞いたが、doubleはどうなの?
0154デフォルトの名無しさん
垢版 |
2013/08/09(金) NY:AN:NY.AN
>>153
同じことよ。例えばこれを実行してみればいい。
int main() {
double a = 1e20;
double b = 8200;
double c = a + b;
printf("%g + %g = %g\n", a, b, c);
return 0;
}
0156デフォルトの名無しさん
垢版 |
2013/09/18(水) 06:33:10.75
>>110
C言語だと、組み込み関数はdoubleになってる奴が多いからな。
型毎に関数が必要になってしまうから、doubleで統一。
(型毎に、別な関数名が必要になってしまう)

C++なら、同じ関数名でも型に応じた処理可能だが。
0158デフォルトの名無しさん
垢版 |
2013/12/13(金) 05:16:16.13
>>156
C99ではfloat版もlong double版も用意されているね。
ライブラリが真面目に実装されているかは知らんが。
0159デフォルトの名無しさん
垢版 |
2014/05/17(土) 21:38:30.29ID:jcSfCTxN
>>1にはhalf-floatで十分
0162デフォルトの名無しさん
垢版 |
2014/10/23(木) 08:15:57.90ID:+TLDY+bD
勇気を持って上げろよ
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況