Estoy usando MSVC++, y quiero usar el valor especial INFINITY en mi código.Infinity en MSVC++
¿Cuál es el patrón de byte o constante para usar en MSVC++ para infinito?
¿Por qué 1.0f/0.0f parece tener el valor 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
}
¡Neto! ¿Como funciona esto? ¿Está bien asignar algo 'numeric_limits :: infinito()'? ¿Cuál es el patrón de bits para INFINITY? ¿Cómo sabe si el patrón es aparentemente 0 en mi ejemplo? –
bobobobo
@bobobobo: Cuando tratas una variable como algo que no está en 'printf', no hay mucho que esperar, podría romperse. Creo que Peterchen lo cubre. – GManNickG