[過去ログ]
Visual Studio 2008 Part 22 (314レス)
Visual Studio 2008 Part 22 http://mevius.5ch.net/test/read.cgi/tech/1413180800/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
201: デフォルトの名無しさん [] 2018/09/16(日) 07:51:56.62 ID:SOVIz+sV ?-1 デフォルト設定(Release) ↓このコードの逆アセンブルコード https://ideone.com/Ryyxkl 【実行結果】 0x0007F2C44DFFF8F2:1.1053482540585106e-308 http://mevius.5ch.net/test/read.cgi/tech/1413180800/201
256: 240 [sage] 2018/09/16(日) 23:13:48.62 ID:/oSJzlqn > だから>>252の場合の誤差なら、仕様通りなんだよ。(片方が倍精度、もう片方は拡張倍精度) そうなの? これが仕様通りならstatic版での違いは仕様通りということになる。 252はRelease版をコンソールで実行したときの逆アセンブル結果。 よって、Release版をコンソールで実行したときのみ(たまたま)レジスタ(80ビット)での演算になるので、 計算結果が変わるのはやむを得ないという結論になるのだが... ちなみに、235はDebugモードでコンパイルし、デバッガ配下の逆アセンブル結果でしょ。 http://mevius.5ch.net/test/read.cgi/tech/1413180800/256
282: デフォルトの名無しさん [] 2018/09/17(月) 02:53:45.62 ID:dj7qSZnZ ?-2 デフォルト設定(Release) 【コード】(その1) #include "stdafx.h" #include <stdio.h> #include <stdint.h> #include <math.h> template<typename T> static double calc_norm_and_regulate(int num, T* r, bool regulate){ // <float> for debug. double norm = 0; for (int i = 0; i < num; i++) { norm += (double)r[i] * (double)r[i]; fprintf(stdout, "[0]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); } fprintf(stdout, "[1]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); norm = sqrt(norm); if (regulate) for (int i=0;i<num;i++) r[i] = (T)(r[i]/norm); return norm; } http://mevius.5ch.net/test/read.cgi/tech/1413180800/282
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.028s