¿Qué es 1.#INF
y por qué el fundido a float
o double
previene una división por 0 de bloqueo?
Además, ¿hay alguna idea de cómo evitar la división por 0? (Como cualquier macro o plantilla)?Dividir por cero prevención
int nQuota = 0;
int nZero = 3/nQuota; //crash
cout << nZero << endl;
float fZero = 2/nQuota; //crash
cout << fZero << endl;
si uso su lugar:
int nZero = 3/(float)nQuota;
cout << nZero << endl;
//Output = -2147483648
float fZero = 2/(float)nQuota;
cout << fZero << endl;
//Output = 1.#INF
wow interesting. Esperando una respuesta. –
esto podría ser interesante para usted: http://blog.regehr.org/archives/721 – cppanda