无穷大和纳米值

时间:2011-10-22 11:16:51

标签: c gcc mingw printf infinity

我在Winows 7上使用gcc-mingw,4.5.2。 无穷大和南数值的printf导致1.#INF00和-1。#IND00出现在屏幕上,而不是无限和&&楠 什么可以解决这个问题

UPD :我尝试使用isinfisnan宏:

C3861: 'isinf': identifier not found error 
C3861: 'isnan': identifier not found.

(我确实包括了math.h) 这是什么原因?

3 个答案:

答案 0 :(得分:3)

使用isinf()isnan()宏来测试数字是无限还是NaN。

答案 1 :(得分:3)

将以下内容添加到program.cpp

#ifndef isinf
#define isinf(x) ((x)!=(x))
#endif


#ifndef isnan 
#define isnan(x) ((x)!=(x)) 
#endif

答案 2 :(得分:1)

这就是编译器的标准库如何处理这些特殊值。如果你想要不同的治疗,你需要编写自己的打印功能,检测特殊值并打印你想要的文本。