整數除以零
int x = 5 / 0; // Undefined behavior
0
的劃分在數學上是未定義的,因此有意義的是這是未定義的行為。
然而:
float x = 5.0f / 0.0f; // x is +infinity
大多數實現實現 IEEE-754,它定義浮點除以零以返回 NaN
(如果分子是 0.0f
),infinity
(如果分子是正數)或 -infinity
(如果分子是負數)。
int x = 5 / 0; // Undefined behavior
0
的劃分在數學上是未定義的,因此有意義的是這是未定義的行為。
然而:
float x = 5.0f / 0.0f; // x is +infinity
大多數實現實現 IEEE-754,它定義浮點除以零以返回 NaN
(如果分子是 0.0f
),infinity
(如果分子是正數)或 -infinity
(如果分子是負數)。