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
@bobobobo : 변수를'printf'에없는 것으로서 취급 할 때, 기대하지 않을 것이 많습니다. 나는 peterchen이 그것을 다루고 있다고 생각한다. – GManNickG