我正在使用MSVC++,我想在我的代码中使用特殊值INFINITY。无穷大在MSVC++
什么是MSVC++无穷大使用的字节模式或常量?
为什么1.0f/0.0f看起来有0值?
#include <stdio.h>
#include <limits.h>
int main()
{
float zero = 0.0f ;
float inf = 1.0f/zero ;
printf("%f\n", inf) ; // 1.#INF00
printf("%x\n", inf) ; // why is this 0?
printf("%f\n", zero) ; // 0.000000
printf("%x\n", zero) ; // 0
}
整洁!这个怎么用?可以分配一些'numeric_limits :: infinity()'吗? INFINITY的位模式是什么?它是如何知道在我的例子中模式显然是0的? –
bobobobo
2010-03-29 13:59:00
@bobobobo:当你把一个变量当作它不在'printf'中的东西时,没有多少期望,它可能会崩溃。我认为peterchen覆盖它。 – GManNickG 2010-03-29 14:03:29