Cygwin + MinGW + GCC 相談室 Part 3
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
550:デフォルトの名無しさん 08/02/23 11:00:51 msのcランタイムがc99対応じゃないから 551:デフォルトの名無しさん 08/02/23 11:19:49 msのランタイムって、FPUの精度を固定していないか? >544はもう一回動かしてもtest1のx[6]は違う値のまま? 552:デフォルトの名無しさん 08/02/23 12:01:31 15桁目まで同じだからdoubleの精度としては問題ない。 553:549 08/02/23 12:03:17 C99以前ではhhxって使えなかったんだ。 知らなかった。 554:デフォルトの名無しさん 08/02/23 12:18:37 x86のFPUは、80ビット精度と64ビット精度が存在する。 SSE2は64ビット精度。 とかそのへんの問題かな? >>551に一票。 浮動小数点演算の検算で精度気にしすぎると禿げるぞ。 ε使えε 555:デフォルトの名無しさん 08/02/23 12:55:41 テキストで出力すると計算の問題なのか出力関数の問題なのか分からんな。 バイナリで出力(あるいは16進ダンプ)してみて どうなるかチェックした方がいいと思う。 例えば fprintf(fp, "%.16e\n", x[5]); これを output(fp, x[5]); にして、output を別翻訳単位で下のように定義してみたらどう? void output(FILE *fp, double value) { union { double value; char array[sizeof (double)]; } dc = { value }; int i; for(i = 0; i < sizeof (double); ++i) { fprintf(fp, "%02X ", dc.array[i]); } fputchar('\n', fp); }
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4776日前に更新/237 KB
担当:undef