1.#INF
là gì và tại sao truyền tới số float
hoặc double
ngăn chặn phân chia bằng 0 lỗi?
Ngoài ra, bất kỳ ý tưởng tuyệt vời nào về cách ngăn chặn chia cho 0? (Giống như bất kỳ macro hoặc mẫu) nào?Chia cho số 0 bằng không
int nQuota = 0;
int nZero = 3/nQuota; //crash
cout << nZero << endl;
float fZero = 2/nQuota; //crash
cout << fZero << endl;
nếu tôi sử dụng thay vì:
int nZero = 3/(float)nQuota;
cout << nZero << endl;
//Output = -2147483648
float fZero = 2/(float)nQuota;
cout << fZero << endl;
//Output = 1.#INF
thật thú vị. Mong một câu trả lời. –
điều này có thể thú vị cho bạn: http://blog.regehr.org/archives/721 – cppanda