08/09/22 11:01:49
なんで double 使わないの?
もう氏んでください。迷惑です。
むかし懐かしい BASIC じゃあるまいし。
何考えてるんだ?
※巨大な配列で float a[10000]; とか取るなら仕方ないです。
または、他のコンピュータとのデータのやりとりのために
どうしても相手が float で無ければダメだとか
そういうのは別ですよ、もちろん。
2:デフォルトの名無しさん
08/09/22 11:14:52
んなこと言われてもdouble(つーか64ビット浮動小数点数)を
サポートしてないんだもん。文句はハード屋に言ってくれ。
3:デフォルトの名無しさん
08/09/22 11:30:29
WPFはなんでもかんでもdoubleだよ
4:デフォルトの名無しさん
08/09/22 11:35:03
昔の人のほうがdouble使うと思うよ。
でも、DirectX使い出すとfloatの出番が増える。
5:デフォルトの名無しさん
08/09/22 11:39:25
VIPでやれ
thread.suicide();
6:デフォルトの名無しさん
08/09/22 12:02:27
うん、昔の人のほうがdouble使う
float使うのは20代くらい?
7:デフォルトの名無しさん
08/09/22 12:44:32
真のおぢさんはBCDを使う
floatを使うのは偽おぢさん
8:デフォルトの名無しさん
08/09/22 12:45:59
BCD最強!
9:デフォルトの名無しさん
08/09/22 12:57:18
もしくは組み込み脳w
10:デフォルトの名無しさん
08/09/22 13:03:28
>>1はベクトル演算とかやったことがないんだろうな。
どれだけ時代に取り残されてるんだよ。
11:デフォルトの名無しさん
08/09/22 13:51:05
ふつーrational
12:デフォルトの名無しさん
08/09/22 14:09:10
誤差が怖いからBCDだよ
13:デフォルトの名無しさん
08/09/22 14:22:25
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
14:アイ
08/09/22 14:25:54
float なんか使わないだろw、jk。
15:デフォルトの名無しさん
08/09/22 16:39:32
残念、floatを使えばベクタ化で倍速出るかもしれないのに。
16:デフォルトの名無しさん
08/09/22 16:43:32
GPU関連だとfloatにしないと駄目だろJK
doubleなんかで処理してたら処理力半減してるぜ多分
17:デフォルトの名無しさん
08/09/22 17:17:10
全部整数にしろ!FPUが無かったらどうするんだ!のスレかと思った
18:デフォルトの名無しさん
08/09/22 17:18:41
shellプログラマの俺はいつも整数ですけど何か
ロードアベレージ取得して100倍にしますよ当然
19:デフォルトの名無しさん
08/09/22 18:30:05
数値計算では double じゃないと精度的にマズい場合があるね。
グラフィック関連では float がデフォだが。
20:デフォルトの名無しさん
08/09/22 18:33:52
floatでまずいものはdoubleでもまずい。
21:デフォルトの名無しさん
08/09/22 18:38:36
>>20
それはないわwww
22:デフォルトの名無しさん
08/09/22 19:26:13
decimal型最強
23:デフォルトの名無しさん
08/09/22 21:20:48
昔は、必要な桁数の加減乗除の関数を書いていたけど、今はしない。
言語の方でサポートしてるし。
24:デフォルトの名無しさん
08/09/22 21:31:58
俺、もうshortとかで良いや・・
25:デフォルトの名無しさん
08/09/22 21:39:48
あそこがshortなんですね、わかります
26:デフォルトの名無しさん
08/09/22 21:54:45
short asoko = 9;
27:デフォルトの名無しさん
08/09/22 21:55:52
精度気にしてるのにdoubleとかネタだよな?
Cなら整数計算して桁揃えで除算
JavaならBigDecimalだろJK
28:デフォルトの名無しさん
08/09/22 22:20:35
おっさんが立てたスレか
29:デフォルトの名無しさん
08/09/22 22:33:42
昔懐かしいBASICにはfloatとか無いわけですけど
30:デフォルトの名無しさん
08/09/23 00:21:21
struct Hoge {
char a;
double b;
int c;
};
なんてのを見るとイライラする
31:デフォルトの名無しさん
08/09/23 01:13:01
>>30.push(calcium);
32:デフォルトの名無しさん
08/09/23 03:17:10
ここはエスパー達のスレか?
環境の前提が無ければ、何も議論できないだろうに
33:デフォルトの名無しさん
08/09/23 05:44:33
だから>>1がプギャーされてるわけだろ
34:デフォルトの名無しさん
08/09/23 06:15:12
ドウフフwwww
35:デフォルトの名無しさん
08/09/23 08:39:06
他のコンピュータとやりとりするのに精度はともかく、
floatなんか使わない
36:デフォルトの名無しさん
08/09/23 08:42:13
今時一瞬で切り替えられるようにtypedefしとくんじゃないの?
37:デフォルトの名無しさん
08/09/23 09:15:22
今時なのか?
38:デフォルトの名無しさん
08/09/23 09:20:21
>>35
疎なRPC的なものだったらやらないけど、
全部同じアーキテクチャって分かってるなら気にしない。
39:デフォルトの名無しさん
08/09/24 10:35:37
以前doubleとlong doubleをtypedefで使い分けてたことがあった。
実際には変数の型だけでなくprintf/scanf系のフォーマットストリングも変えないと
いけなかったりする。プラットフォーム毎に違ったりもするし。
本当は多倍長計算の型もシームレスに使いたかったがそのときは適当な実装が
なかったので断念した。例えば多倍長同士の足し算を+でやったりとかできなかった。
必然的にC++ということになるわけだが...
40:デフォルトの名無しさん
08/09/24 22:21:58
>多倍長
どこの会社の管理職?
41:デフォルトの名無しさん
08/09/24 22:51:06
GDI+がやたらとfloatなんだよな。
42:デフォルトの名無しさん
08/09/26 13:38:22
工業系でfloat使うとしょっぱいアプリができちゃう
43:デフォルトの名無しさん
08/09/26 13:42:50
doubleも使えないけどね
44:デフォルトの名無しさん
08/09/27 21:34:01
double配列だとメモリ上にdouble word alignmentされるかどうかで
性能が違ったりね。今はちゃんとアーキテクチャを判断してコンパイラがやってくれるの?
45:デフォルトの名無しさん
08/09/29 11:24:51
>>44
コンパイルオプションで指定する必要はあるかも。
46:デフォルトの名無しさん
08/10/02 23:29:58
ゲームプログラマを全員ドシロウト呼ばわりとは
勇気のある>>1だな、おい。
47:デフォルトの名無しさん
08/10/02 23:52:04
floatだとなぜかおかしくなるけど
doubleだとうまくいきます!
ということですねわかります
48:デフォルトの名無しさん
08/10/03 02:11:37
それなんてLua
49:デフォルトの名無しさん
08/10/03 10:36:24
ここまでドフロートなし
50:デフォルトの名無しさん
08/10/04 01:21:58
float志向
51:デフォルトの名無しさん
08/10/04 02:46:43
>ゲームプログラマを全員ドシロウト呼ばわりとは
ゲームは速度重視で整数だろ
52:デフォルトの名無しさん
08/10/04 06:57:04
GPU呼ぶのにfloat使うわけだが
53:,,・´∀`・,,)っ-○◎●
08/10/04 22:51:37
Cellはへんに固定小数やるより浮動小数やったほうが速いよ
54:デフォルトの名無しさん
08/10/04 23:27:41
誰か固定小数点数の話してたっけ?
55:,,・´∀`・,,)っ-○◎●
08/10/05 00:02:10
実数演算を整数でやるのを一般的に固定小数っていうんだけど。
56:デフォルトの名無しさん
08/10/07 14:10:40
>>54
Cellの話もしてないが、いきなり関係ない話をし始めるのがダンゴ脳。
57:デフォルトの名無しさん
08/10/07 14:18:08
まぁ、一定の法則はあるんだけどね
58:,,・´∀`・,,)っ-○◎●
08/10/12 15:23:27
別にCellでなくてもいいよ。
ゲームで固定小数が持て囃されたのはx86でいうとMMXが登場してからSSEが出るまでまで。
PS1も固定小数中心だったっけな。
SSE以降のx86やナウいゲーム機でハードウェア浮動小数使わないのはただの馬鹿だろ。
パフォーマンスの実測もやらずに整数の方が速いと思い込んでるだけの痛い子。
59:デフォルトの名無しさん
08/10/12 18:13:09
スレの流れも読まずに俺理論を展開する痛い子だな。
60:デフォルトの名無しさん
08/10/12 18:16:14
>>59
無理に団子を貶す結論に落とさなくても充分ですよ。このスレの流れなんて元々ありゃしないのだから。
61:デフォルトの名無しさん
08/10/12 18:41:54
>>60
ダンゴさん乙
62:,,・´∀`・,,)っ-○◎●
08/10/12 19:55:20
ひょっとして>>51に粘着されちゃってるー?
こわー
63:デフォルトの名無しさん
08/10/12 21:04:11
ねーよ。つーか、おめぇもいい加減大人になれよ。
64:デフォルトの名無しさん
08/10/12 22:32:20
つーかdoubleいらね
65:デフォルトの名無しさん
08/10/12 22:46:12
ダンゴさんのストーカー発言でスレがあらぬ方向に向かいそうだな
66:,,・´∀`・,,)っ-○◎●
08/10/13 01:04:00
ちなみにh.264で浮動小数ではなく整数でDCTやるのは演算速度とは全く関係ない理由
67:デフォルトの名無しさん
08/10/14 16:57:30
>>59
何を今更。
68:,,・´∀`・,,)っ-○◎●
08/10/15 00:10:07
67=59=51
69:,,・´∀`・,,)っ-○◎●
08/10/15 00:11:06
51 名前:デフォルトの名無しさん[sage] 投稿日:2008/10/04(土) 02:46:43
>ゲームプログラマを全員ドシロウト呼ばわりとは
ゲームは速度重視で整数だろ
この恥ずかしい発言を恥ずかしいと思わない馬鹿は本人以外にないだろ
70:,,・´∀`・,,)っ-○◎●
08/10/15 00:16:59
別に>>51でなくともいいが、一体どこの世界のどこのゲームがfloatの代わりに整数を使ってるのか答えてみろよ。
71:デフォルトの名無しさん
08/10/15 00:20:32
将棋
囲碁
オセロ
72:,,・´∀`・,,)っ-○◎●
08/10/15 00:23:41
日本語の読めない人は答えなくてイイよ
はいもう一度
「floatの代わりに」
73:デフォルトの名無しさん
08/10/15 00:24:46
だから「floatの代わりに」
74:,,・´∀`・,,)っ-○◎●
08/10/15 00:34:37
DSでは固定小数がいまだ現役なんだから突っ込めよ
まさか68kやゼッパチの世代?
75:デフォルトの名無しさん
08/10/15 01:19:31
だから「floatの代わりに」
76:,,・´∀`・,,)っ-○◎●
08/10/15 07:40:05
代わりというからにはfloatで処理できるのか?
77:デフォルトの名無しさん
08/10/15 08:36:52
だから「floatの代わりに」
78:デフォルトの名無しさん
08/10/15 08:46:37
>>76
思考停止したコピペに反応すんなよ。反応するあんたが馬鹿にしか見えないぞ。
79:デフォルトの名無しさん
08/10/15 08:52:23
と馬鹿が申しております。
80:67=56
08/10/15 09:56:00
>>68
きちがい怖い…
81:デフォルトの名無しさん
08/10/15 22:21:45
誰か>>1の住所知らない?
ちょっと遊びに行きたいな
82:デフォルトの名無しさん
08/10/18 15:06:43
ストーカーきめぇw
83:デフォルトの名無しさん
08/11/20 03:02:58
Halfでいいよ。
84:デフォルトの名無しさん
08/12/27 22:21:02
>>72
>>23
85:デフォルトの名無しさん
09/01/17 06:38:58
俺が作ったsuuchiクラスが最強だよ
86:デフォルトの名無しさん
09/04/07 20:20:14
スレ違い
87:デフォルトの名無しさん
09/08/28 22:02:05
だな
88:デフォルトの名無しさん
09/08/29 01:39:47
スレ開いて損した
89:デフォルトの名無しさん
09/08/29 06:07:56
なんで2chっていつもこうなの?
英語圏のフォーラムなんか実に有意義な技術的議論が
日々飛び交ってるのに
もうやだこの国
90:デフォルトの名無しさん
09/08/29 20:00:42
2chがこの国の全てとお思いで?
91:デフォルトの名無しさん
09/08/29 21:56:15
一理ある
92:デフォルトの名無しさん
09/08/31 03:25:52
>>89
2chじゃなくて普通のフォーラム行けよ低脳さんw
93:デフォルトの名無しさん
09/08/31 03:36:49
>>89
(ここは2chだから)しゃーない
94:デフォルトの名無しさん
09/08/31 07:37:05
doubleとfloatの演算速度は変わらなくなってるし
浮動小数点が主に使われる3D分野がfloatに固執してるということ以外に
もうfloatの存在価値はないね
95:デフォルトの名無しさん
09/08/31 10:33:05
>>doubleとfloatの演算速度は変わらなくなってるし
例えば何?
96:デフォルトの名無しさん
09/08/31 15:36:23
>>94
なんでfloatに固執しているか知ってるよね?
floatで精度は十分な上に帯域幅の問題
純粋に1/2になるから
32bit幅なら丁度合うし
97:デフォルトの名無しさん
09/09/01 12:29:16
>>94
実際、floatならvectorizeできるのにdoubleではできない状況だと所要時間が倍違ってくる。
最近のXeonだと画像なり周波数空間像なりがキャッシュに載るかどうかの瀬戸際だから、
floatならキャッシュに載り切る状況ならそこでも所要時間が倍以上違ってくる。
従って、floatの存在も馬鹿にしたもんじゃない。
98:デフォルトの名無しさん
09/09/01 14:26:44
入門程度のどうでもいい練習ソース書くときに、最近はdoubleで余裕って刷り込まれるからな。
99:デフォルトの名無しさん
09/09/01 15:18:03
まぁdoubleとfloatが混在するよりは良いんじゃないかねぇ
100:デフォルトの名無しさん
09/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);
101:デフォルトの名無しさん
09/09/01 16:14:03
FLT_EVAL_METHODが使えればいいんだけどねぇ
102:デフォルトの名無しさん
09/09/01 17:15:01
>>100
それだけだとdoubleな定数使ってて、後からfloatに切り替えたときに問題おきない?
103:デフォルトの名無しさん
09/09/01 17:21:27
>>102
具体的に。一応そのための関数型キャストなんだけど。
104:デフォルトの名無しさん
09/09/01 17:40:51
float f;
std::min( f, 1.0 );
このコンパイルが通らないのは正直むかつくお
105:デフォルトの名無しさん
09/09/01 17:51:28
>>103
値の丸めが起きて、それが原因の問題に
気がつき難いのじゃないかなと。
106:100=103
09/09/01 18:07:03
>>105
そもそもそれが問題になるところでは使わないから大丈夫。
>>104
std::min(f, 1.f)で何か不満でも?
107:デフォルトの名無しさん
09/09/02 01:20:44
なんで 1.0f じゃなくて 1.f とか奇怪な表記する人が多いんだろう?
108:デフォルトの名無しさん
09/09/02 02:16:10
省略できるから省略する
109:デフォルトの名無しさん
09/09/02 02:42:18
ゆとりだろ。
若しくはソースを見る人への思いやりがない人。
110:デフォルトの名無しさん
09/09/02 03:07:01
・昔のC言語だとfloatをfloatのまま演算することが無く、よほどメモリを食う場合以外
doubleの方が速かった(この頃は「floatはdoubleより遅いからメモリ節約くらいしか
役に立たない」という教育がされたので、その頃から知識を更新してないド素人か老害
は>>1のように思い続けている)
・今のC言語コンパイラでは、floatはfloatのまま演算させることが普通
・最近の環境では一般に、floatもdoubleも速度は変わらないことが多いが、SIMD命令
だと普通はfloatが速く、メモリ効率もfloatの方がいいのでfloatが速度的には有利
・精度はdoubleの方が圧倒的にマシ(というかfloatの精度はかなりひどいので要注意)
まぁ、現時点では用途で使い分けだな。それも、あくまでも現時点での話だが。
111:デフォルトの名無しさん
09/09/02 09:28:40
>>110
一つだけ補足。SIMD命令ではfloatが速いということがメリットなのではない。
SIMDなので、並列度が高くなることの方が重要。
112:デフォルトの名無しさん
09/09/02 09:38:13
それは速いに含めていいんじゃね
113:デフォルトの名無しさん
09/09/02 10:51:54
floatは精度悪すぎ
ゲームなどお遊びにしか使えね~
114:デフォルトの名無しさん
09/09/02 11:52:43
>>113
あなたの世界ではそうなんでしょうね。
115:デフォルトの名無しさん
09/09/02 11:55:43
ゲームはお遊びだが、ゲームプログラミングはお遊びには程遠いな
言葉遊びの習慣がある奴は人から信用されないぞ
116:デフォルトの名無しさん
09/09/02 13:16:05
>>115
>言葉遊びの習慣がある奴
一瞬、「そりゃお前のことじゃね?」と思ってしまった。
が、結局誰を指して言ってるんだ?
117:デフォルトの名無しさん
09/09/02 13:34:36
113のことだろ
118:デフォルトの名無しさん
09/09/02 13:57:34
113のこととしか思えないが
119:デフォルトの名無しさん
09/09/02 14:00:31
すまん、どこが「言葉遊び」なのか判らない。
120:デフォルトの名無しさん
09/09/02 15:55:34
CPUってもう64bitがデフォルトになってるから64bitでレジスタもワイヤーも組んであって
むしろ32bitをわざわざ64bitレジスタに乗っけてるような状態だから
double常用でぜんぜんいいんだけど
IPV4だのIPV5だの中途半端なものがfloatだよ
状況によってはdoubleより早いかもしらんが、doubleしかなきゃないで誰も困らないだろ
さっさと64bitに統一してしまえ
121:デフォルトの名無しさん
09/09/02 16:35:36
世の中にはatomという物もあってだな
122:デフォルトの名無しさん
09/09/02 16:56:20
>>120
>IPV5だの
そんな規格は存在しません。
>doubleしかなきゃないで誰も困らないだろ
ときどきは通信速度のことも思い出してあげてください。
123:デフォルトの名無しさん
09/09/02 18:10:57
>>120
メモリアクセス
124:デフォルトの名無しさん
09/09/02 18:15:20
>>120
SSE
125:デフォルトの名無しさん
09/09/02 18:22:02
GPUがCPUと一体化するまでこの話はお預け
126:デフォルトの名無しさん
09/09/02 18:41:29
floatをdoubleにするだけで、
性能が1/10になっちゃうなんて言われたら
そんな簡単にいらないなんて言えないよ
127:デフォルトの名無しさん
09/09/02 20:22:15
doubleしかなきゃないできっと誰も困らないが、現にdoubleより速くて精度の低い
floatがあるから使い分けなきゃ駄目なんだよ、現実は面倒だね
この程度が面倒ならプログラマなんかやってられねーけどな
128:デフォルトの名無しさん
09/09/02 21:06:32
>>1は固定小数点処理を頑張って書いてベンチもせずに使ってる奴と同じ匂いがする
129:デフォルトの名無しさん
09/09/03 01:40:58
>>120
おまえみたいな考え方の奴がいるせいで日本の経済格差が広がるんだろうな
130:デフォルトの名無しさん
09/09/29 11:34:13
最近のマシンじゃ処理時間なんて扱うメモリ量で殆ど決まるからなー。
大きなベクトルや行列演算なんかするとfloatとdoubleできっかり2倍違う。
131:デフォルトの名無しさん
09/09/30 12:15:15
>>129
経済格差が広がったのは村山政権のとき。64bit統一なんて無関係。