
質問です。
C++でプログラムを実行したところ,
ごく希に-1.#IND00 という値が入っている変数がありました.
デバッグのため,値が-1.#IND00 となったらデバッグプリントを表示したいのですが、
どのようにやればよいでしょうか?
環境は.net 2003です。
ちなみに、
float fx = 0.0;
float r;
・・・・rに計算結果を格納
if(r == -2.0f/fx || r == 2.0f/fx || r == fx/fx || r == -fx/fx){
}としてみたところダメでした。
どなたかよろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
INDっては初めて見たので調べてみたのですが、infともNaNとも違うものなんでしょうか?
> if(r == -2.0f/fx || r == 2.0f/fx || r == fx/fx || r == -fx/fx){
if (_isnan(r) || _isinf(r))
ではダメですか?
あと、調べていてみつかったのですが vc++の場合
fpclassifyはありませんが _fpclassという関数があって、
これが同じような判定をしてくれるようです。
/* IEEE recommended functions */
_CRTIMP double __cdecl _copysign (double, double);
_CRTIMP double __cdecl _chgsign (double);
_CRTIMP double __cdecl _scalb(double, long);
_CRTIMP double __cdecl _logb(double);
_CRTIMP double __cdecl _nextafter(double, double);
_CRTIMP int __cdecl _finite(double);
_CRTIMP int __cdecl _isnan(double);
_CRTIMP int __cdecl _fpclass(double);
#define _FPCLASS_SNAN 0x0001 /* signaling NaN */
#define _FPCLASS_QNAN 0x0002 /* quiet NaN */
#define _FPCLASS_NINF 0x0004 /* negative infinity */
#define _FPCLASS_NN 0x0008 /* negative normal */
#define _FPCLASS_ND 0x0010 /* negative denormal */
#define _FPCLASS_NZ 0x0020 /* -0 */
#define _FPCLASS_PZ 0x0040 /* +0 */
#define _FPCLASS_PD 0x0080 /* positive denormal */
#define _FPCLASS_PN 0x0100 /* positive normal */
#define _FPCLASS_PINF 0x0200 /* positive infinity */
positive normal でも negative normal でも±0でもないのを
引っ掛ければよい?
参考URL:http://msdn2.microsoft.com/ja-jp/library/39s1cck …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 (2)をラグランジュの未定乗数法を使って解きたいのですが答えが導けません、どなたかご教授ください。 3 2023/07/18 10:10
- 統計学 統計学の問題 3 2022/07/15 12:09
- FX・外国為替取引 外国為替 FXで利益が5千円出たとして、単純にFX口座に倍のお金を入れて縦玉数を倍にしたら、同じ値幅 3 2022/09/16 20:04
- 投資・株式の税金 サラリーマン投資家(海外FX)の節税目的のマイクロ法人設立について 2 2022/09/19 18:37
- その他(悩み相談・人生相談) ギャンブル依存、お金の使い方が原因でパートナーから結婚を考えさせてと言われました。 ギャンブルの内容 6 2022/09/06 19:34
- FX・外国為替取引 FXの投資に付いての質問です。 FFX運営事務局でのFXの投資は信用できますか? 聞くところによりま 2 2022/06/08 17:29
- FX・外国為替取引 海外FXについて、入金や出金はFX fairという会社を通してやりとりするんでしょうか? また、FX 2 2022/12/24 00:52
- FX・外国為替取引 外貨預金とFX! 外貨預金よりFXの方が手数料安いのですが、レバレッジをかけないならFXの方が良いで 2 2022/09/27 09:29
- FX・外国為替取引 負ける人がいるからFX業者は儲かっている? 8 2023/01/12 00:27
- FX・外国為替取引 FX取引をされている方に質問です。 【このところのFX相場は、難しいのでしょうか?】 昨年春よりFX 3 2023/07/21 20:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
doubleの変数にintとintの割り...
-
float型とdouble型の変数の違い...
-
C 開放してるのにエラー(doubl...
-
C言語 関数プロトタイプ宣言の...
-
2自由度減衰振動のルンゲクッタ法
-
floating point not loadedとは?
-
Cで3乗根を求める方法
-
浮動小数点の誤差のあわせ方
-
C言語でdouble型の小数点の引き...
-
int とdoubleの比較
-
c言語で、繰り返し文の中で、0....
-
c言語でDFTのプログラムを作成...
-
C言語 質問です。
-
極座標から直交座標に変換
-
doubleは常に%lfとするべきなのか
-
C言語のデバック 領域の二重解...
-
浮動小数点の比較について
-
プログラミングでのテイラー展開
-
Cプログラミングの問題です。ニ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
C 開放してるのにエラー(doubl...
-
float型とdouble型の変数の違い...
-
至急です! マクロ定義で #defi...
-
doubleの変数にintとintの割り...
-
C言語を実行すると-infが出てき...
-
C言語の型による処理速度の違い
-
C言語 関数プロトタイプ宣言の...
-
浮動小数点の定数
-
C言語でdouble型の小数点の引き...
-
difftime()について
-
doubleは常に%lfとするべきなのか
-
C#イベント中の戻り値の設定の...
-
c言語で、繰り返し文の中で、0....
-
int とdoubleの比較
-
C言語のプログラムで#include<m...
-
c言語のプログラミングについて...
-
バイナリから実数を取得したい...
-
c言語のコンパイルエラー canno...
-
関数におけるif文とreturn文に...
おすすめ情報