
質問です。
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で質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
atan2 オーバーロード関数の呼...
-
プログラミングでのテイラー展開
-
c言語 標準体重計算のプログラ...
-
C 開放してるのにエラー(doubl...
-
待ち行列シュミレーションのプ...
-
doubleは常に%lfとするべきなのか
-
型について
-
c言語のコンパイルエラー canno...
-
指数形式で入力するには
-
doubleの変数にintとintの割り...
-
大きな桁の計算はどうやるの?
-
128ビットの浮動小数点型
-
たくさんの数の平均を求める方...
-
double型とint型で三分の一乗の...
-
2分法で方程式の複数の解を自...
-
「Aに対するBの割合」と「Aに対...
-
信頼区間の1.96や1.65ってどこ...
-
long型の定数の末尾にLを付ける...
-
C言語での引数の省略方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
C 開放してるのにエラー(doubl...
-
至急です! マクロ定義で #defi...
-
C言語を実行すると-infが出てき...
-
C言語の型による処理速度の違い
-
c言語で、繰り返し文の中で、0....
-
C言語 関数プロトタイプ宣言の...
-
doubleの変数にintとintの割り...
-
float型とdouble型の変数の違い...
-
-1.#IND00と出てしまうのですが...
-
c言語のプログラミングについて...
-
C言語で台形公式を使った二重積...
-
C言語でdouble型の小数点の引き...
-
C言語のプログラムで#include<m...
-
2次方程式の解を求めるプログ...
-
C言語の複素数についてです。
-
doubleは常に%lfとするべきなのか
-
関数におけるif文とreturn文に...
-
difftime()について
-
int とdoubleの比較
おすすめ情報