なんで double 使わないの?
もう氏んでください。迷惑です。
むかし懐かしい BASIC じゃあるまいし。
何考えてるんだ?
※巨大な配列で float a[10000]; とか取るなら仕方ないです。
または、他のコンピュータとのデータのやりとりのために
どうしても相手が float で無ければダメだとか
そういうのは別ですよ、もちろん。
んなこと言われてもdouble(つーか64ビット浮動小数点数)を
サポートしてないんだもん。文句はハード屋に言ってくれ。
WPFはなんでもかんでもdoubleだよ
昔の人のほうがdouble使うと思うよ。
でも、DirectX使い出すとfloatの出番が増える。
VIPでやれ
thread.suicide();
うん、昔の人のほうがdouble使う
float使うのは20代くらい?
真のおぢさんはBCDを使う
floatを使うのは偽おぢさん
8 :
デフォルトの名無しさん:2008/09/22(月) 12:45:59
BCD最強!
もしくは組み込み脳w
>>1はベクトル演算とかやったことがないんだろうな。
どれだけ時代に取り残されてるんだよ。
ふつーrational
誤差が怖いからBCDだよ
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
14 :
アイ:2008/09/22(月) 14:25:54
float なんか使わないだろw、jk。
残念、floatを使えばベクタ化で倍速出るかもしれないのに。
16 :
デフォルトの名無しさん:2008/09/22(月) 16:43:32
GPU関連だとfloatにしないと駄目だろJK
doubleなんかで処理してたら処理力半減してるぜ多分
全部整数にしろ!FPUが無かったらどうするんだ!のスレかと思った
shellプログラマの俺はいつも整数ですけど何か
ロードアベレージ取得して100倍にしますよ当然
数値計算では double じゃないと精度的にマズい場合があるね。
グラフィック関連では float がデフォだが。
floatでまずいものはdoubleでもまずい。
decimal型最強
昔は、必要な桁数の加減乗除の関数を書いていたけど、今はしない。
言語の方でサポートしてるし。
俺、もうshortとかで良いや・・
あそこがshortなんですね、わかります
short asoko = 9;
精度気にしてるのにdoubleとかネタだよな?
Cなら整数計算して桁揃えで除算
JavaならBigDecimalだろJK
おっさんが立てたスレか
昔懐かしいBASICにはfloatとか無いわけですけど
struct Hoge {
char a;
double b;
int c;
};
なんてのを見るとイライラする
ここはエスパー達のスレか?
環境の前提が無ければ、何も議論できないだろうに
ドウフフwwww
他のコンピュータとやりとりするのに精度はともかく、
floatなんか使わない
今時一瞬で切り替えられるようにtypedefしとくんじゃないの?
今時なのか?
>>35 疎なRPC的なものだったらやらないけど、
全部同じアーキテクチャって分かってるなら気にしない。
以前doubleとlong doubleをtypedefで使い分けてたことがあった。
実際には変数の型だけでなくprintf/scanf系のフォーマットストリングも変えないと
いけなかったりする。プラットフォーム毎に違ったりもするし。
本当は多倍長計算の型もシームレスに使いたかったがそのときは適当な実装が
なかったので断念した。例えば多倍長同士の足し算を+でやったりとかできなかった。
必然的にC++ということになるわけだが...
>多倍長
どこの会社の管理職?
GDI+がやたらとfloatなんだよな。
工業系でfloat使うとしょっぱいアプリができちゃう
doubleも使えないけどね
double配列だとメモリ上にdouble word alignmentされるかどうかで
性能が違ったりね。今はちゃんとアーキテクチャを判断してコンパイラがやってくれるの?
>>44 コンパイルオプションで指定する必要はあるかも。
ゲームプログラマを全員ドシロウト呼ばわりとは
勇気のある
>>1だな、おい。
floatだとなぜかおかしくなるけど
doubleだとうまくいきます!
ということですねわかります
それなんてLua
ここまでドフロートなし
float志向
>ゲームプログラマを全員ドシロウト呼ばわりとは
ゲームは速度重視で整数だろ
GPU呼ぶのにfloat使うわけだが
Cellはへんに固定小数やるより浮動小数やったほうが速いよ
誰か固定小数点数の話してたっけ?
実数演算を整数でやるのを一般的に固定小数っていうんだけど。
>>54 Cellの話もしてないが、いきなり関係ない話をし始めるのがダンゴ脳。
まぁ、一定の法則はあるんだけどね
別にCellでなくてもいいよ。
ゲームで固定小数が持て囃されたのはx86でいうとMMXが登場してからSSEが出るまでまで。
PS1も固定小数中心だったっけな。
SSE以降のx86やナウいゲーム機でハードウェア浮動小数使わないのはただの馬鹿だろ。
パフォーマンスの実測もやらずに整数の方が速いと思い込んでるだけの痛い子。
スレの流れも読まずに俺理論を展開する痛い子だな。
>>59 無理に団子を貶す結論に落とさなくても充分ですよ。このスレの流れなんて元々ありゃしないのだから。
ひょっとして
>>51に粘着されちゃってるー?
こわー
ねーよ。つーか、おめぇもいい加減大人になれよ。
つーかdoubleいらね
ダンゴさんのストーカー発言でスレがあらぬ方向に向かいそうだな
ちなみにh.264で浮動小数ではなく整数でDCTやるのは演算速度とは全く関係ない理由
67=59=51
51 名前:デフォルトの名無しさん[sage] 投稿日:2008/10/04(土) 02:46:43
>ゲームプログラマを全員ドシロウト呼ばわりとは
ゲームは速度重視で整数だろ
この恥ずかしい発言を恥ずかしいと思わない馬鹿は本人以外にないだろ
別に
>>51でなくともいいが、一体どこの世界のどこのゲームがfloatの代わりに整数を使ってるのか答えてみろよ。
将棋
囲碁
オセロ
日本語の読めない人は答えなくてイイよ
はいもう一度
「floatの代わりに」
だから「floatの代わりに」
DSでは固定小数がいまだ現役なんだから突っ込めよ
まさか68kやゼッパチの世代?
だから「floatの代わりに」
代わりというからにはfloatで処理できるのか?
だから「floatの代わりに」
>>76 思考停止したコピペに反応すんなよ。反応するあんたが馬鹿にしか見えないぞ。
と馬鹿が申しております。
誰か
>>1の住所知らない?
ちょっと遊びに行きたいな
ストーカーきめぇw
Halfでいいよ。
俺が作ったsuuchiクラスが最強だよ
スレ違い
87 :
デフォルトの名無しさん:2009/08/28(金) 22:02:05
だな
スレ開いて損した
なんで2chっていつもこうなの?
英語圏のフォーラムなんか実に有意義な技術的議論が
日々飛び交ってるのに
もうやだこの国
2chがこの国の全てとお思いで?
91 :
デフォルトの名無しさん:2009/08/29(土) 21:56:15
一理ある
>>89 2chじゃなくて普通のフォーラム行けよ低脳さんw
93 :
デフォルトの名無しさん:2009/08/31(月) 03:36:49
doubleとfloatの演算速度は変わらなくなってるし
浮動小数点が主に使われる3D分野がfloatに固執してるということ以外に
もうfloatの存在価値はないね
>>doubleとfloatの演算速度は変わらなくなってるし
例えば何?
>>94 なんでfloatに固執しているか知ってるよね?
floatで精度は十分な上に帯域幅の問題
純粋に1/2になるから
32bit幅なら丁度合うし
>>94 実際、floatならvectorizeできるのにdoubleではできない状況だと所要時間が倍違ってくる。
最近のXeonだと画像なり周波数空間像なりがキャッシュに載るかどうかの瀬戸際だから、
floatならキャッシュに載り切る状況ならそこでも所要時間が倍以上違ってくる。
従って、floatの存在も馬鹿にしたもんじゃない。
入門程度のどうでもいい練習ソース書くときに、最近はdoubleで余裕って刷り込まれるからな。
まぁdoubleとfloatが混在するよりは良いんじゃないかねぇ
混在はいかんね。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);
FLT_EVAL_METHODが使えればいいんだけどねぇ
>>100 それだけだとdoubleな定数使ってて、後からfloatに切り替えたときに問題おきない?
>>102 具体的に。一応そのための関数型キャストなんだけど。
float f;
std::min( f, 1.0 );
このコンパイルが通らないのは正直むかつくお
>>103 値の丸めが起きて、それが原因の問題に
気がつき難いのじゃないかなと。
>>105 そもそもそれが問題になるところでは使わないから大丈夫。
>>104 std::min(f, 1.f)で何か不満でも?
なんで 1.0f じゃなくて 1.f とか奇怪な表記する人が多いんだろう?
省略できるから省略する
109 :
デフォルトの名無しさん:2009/09/02(水) 02:42:18
ゆとりだろ。
若しくはソースを見る人への思いやりがない人。
・昔のC言語だとfloatをfloatのまま演算することが無く、よほどメモリを食う場合以外
doubleの方が速かった(この頃は「floatはdoubleより遅いからメモリ節約くらいしか
役に立たない」という教育がされたので、その頃から知識を更新してないド素人か老害
は
>>1のように思い続けている)
・今のC言語コンパイラでは、floatはfloatのまま演算させることが普通
・最近の環境では一般に、floatもdoubleも速度は変わらないことが多いが、SIMD命令
だと普通はfloatが速く、メモリ効率もfloatの方がいいのでfloatが速度的には有利
・精度はdoubleの方が圧倒的にマシ(というかfloatの精度はかなりひどいので要注意)
まぁ、現時点では用途で使い分けだな。それも、あくまでも現時点での話だが。
>>110 一つだけ補足。SIMD命令ではfloatが速いということがメリットなのではない。
SIMDなので、並列度が高くなることの方が重要。
それは速いに含めていいんじゃね
floatは精度悪すぎ
ゲームなどお遊びにしか使えね〜
ゲームはお遊びだが、ゲームプログラミングはお遊びには程遠いな
言葉遊びの習慣がある奴は人から信用されないぞ
>>115 >言葉遊びの習慣がある奴
一瞬、「そりゃお前のことじゃね?」と思ってしまった。
が、結局誰を指して言ってるんだ?
113のことだろ
113のこととしか思えないが
すまん、どこが「言葉遊び」なのか判らない。
CPUってもう64bitがデフォルトになってるから64bitでレジスタもワイヤーも組んであって
むしろ32bitをわざわざ64bitレジスタに乗っけてるような状態だから
double常用でぜんぜんいいんだけど
IPV4だのIPV5だの中途半端なものがfloatだよ
状況によってはdoubleより早いかもしらんが、doubleしかなきゃないで誰も困らないだろ
さっさと64bitに統一してしまえ
世の中にはatomという物もあってだな
>>120 >IPV5だの
そんな規格は存在しません。
>doubleしかなきゃないで誰も困らないだろ
ときどきは通信速度のことも思い出してあげてください。
GPUがCPUと一体化するまでこの話はお預け
floatをdoubleにするだけで、
性能が1/10になっちゃうなんて言われたら
そんな簡単にいらないなんて言えないよ
doubleしかなきゃないできっと誰も困らないが、現にdoubleより速くて精度の低い
floatがあるから使い分けなきゃ駄目なんだよ、現実は面倒だね
この程度が面倒ならプログラマなんかやってられねーけどな
>>1は固定小数点処理を頑張って書いてベンチもせずに使ってる奴と同じ匂いがする
129 :
デフォルトの名無しさん:2009/09/03(木) 01:40:58
>>120 おまえみたいな考え方の奴がいるせいで日本の経済格差が広がるんだろうな
最近のマシンじゃ処理時間なんて扱うメモリ量で殆ど決まるからなー。
大きなベクトルや行列演算なんかするとfloatとdoubleできっかり2倍違う。
>>129 経済格差が広がったのは村山政権のとき。64bit統一なんて無関係。
132 :
デフォルトの名無しさん:2011/06/01(水) 01:27:12.34
__
, '´ ヽ
.{ i{ノハ从k} ./)
ヽ!l|, ゚ ヮ゚ノリ、// よい
/' );-さ-リつヾ
/ Uノ_i_iヽ
へノ し'-/調子
""""""""""""""
__
, '´ ヽ
.{ i{ノハ从k} ./)
ヽ!l|, ゚ ヮ゚ノリ、// しょっと。
/' );-さ-リつヾ
/ Uノ_i_iヽ
へノ し'ノ
調子
"""""""""""""""""
シロートじゃなくてフロートだろ(キリッ
だれうま
クスッときた
>>49 すでに2年以上前に予言されていたという衝撃の事実
137 :
デフォルトの名無しさん:2011/06/15(水) 00:36:11.63
そうだね、悔しいよね
138 :
デフォルトの名無しさん:2011/06/26(日) 19:51:58.90
139 :
デフォルトの名無しさん:2011/11/20(日) 14:25:21.06
さあ
某ゲームパブリッシャで通販頼むと
佐川急便の問い合わせ番号が【4.61557E+11】で表示されるとかいうツイートを見たんだが
何が起きているのか
142 :
デフォルトの名無しさん:2012/09/11(火) 12:23:08.34
float に限らず、変数はきちんとしないとダメですね。
MS Word のドローモードでズーム8回(2^8倍)未満
でも座標が丸まってしまって、ちゃんとピック出来
なかったり、ラバーバンドと再描画結果がずれるのを
見ると、とてもガッカリしますよね。
なんで座標を最後まで固定少数、浮動少数にして計算
していなんでしょうかね?
バカですかね?
iPhoneとかはfloatの方が速い。
floatとdoubleのいいとこ取りっていうか、中間ぐらいのはないの?
ない。恐らく作ってもメリットが殆どない。どうしてもやりたければ、doubleを精度を制限して使う位か。
そういや拡張単精度の実装は見たこと無いなあ
それを実装する利点ってなんだよ
8087のメンツ維持のためには拡張倍精度の策定は不可避だったんだろうな。
じゃあついでに拡張単精度も定めようと。
それ以上の意義はたぶん無い。
149 :
デフォルトの名無しさん:2013/07/12(金) NY:AN:NY.AN
age
atof
tripleだよな
SIMDに多く詰め込めるから
floatは数が大きくなると、最小の刻みが2以上になって、
1足せないと聞いたが、doubleはどうなの?
>>153 同じことよ。例えばこれを実行してみればいい。
int main() {
double a = 1e20;
double b = 8200;
double c = a + b;
printf("%g + %g = %g\n", a, b, c);
return 0;
}
span {
float: left
}
>>110 C言語だと、組み込み関数はdoubleになってる奴が多いからな。
型毎に関数が必要になってしまうから、doubleで統一。
(型毎に、別な関数名が必要になってしまう)
C++なら、同じ関数名でも型に応じた処理可能だが。
siloat
>>156 C99ではfloat版もlong double版も用意されているね。
ライブラリが真面目に実装されているかは知らんが。
159 :
デフォルトの名無しさん:2014/05/17(土) 21:38:30.29 ID:jcSfCTxN
符号1bit+指数部2bit+仮数部5bitつーのをこないだ見た
float要るだろ普通に。
162 :
デフォルトの名無しさん:
勇気を持って上げろよ