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