什么是1.#INF
为什么投射到float
或double
可以防止0的碰撞分裂?
此外,如何防止除以0的任何伟大的想法? (像任何宏或模板)?除以零预防
int nQuota = 0;
int nZero = 3/nQuota; //crash
cout << nZero << endl;
float fZero = 2/nQuota; //crash
cout << fZero << endl;
如果我使用来代替:
int nZero = 3/(float)nQuota;
cout << nZero << endl;
//Output = -2147483648
float fZero = 2/(float)nQuota;
cout << fZero << endl;
//Output = 1.#INF
哇有趣。期待一个答案。 –
这可能是对你有意思:http://blog.regehr.org/archives/721 – cppanda