我正在使用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