Bob*_*Bob 16 c++ divide-by-zero
我正在进行长时间的模拟.我将结果记录到矢量中以计算有关数据的统计数据.我意识到,从理论上讲,这些样本可能是零除的结果; 这只是理论上的,我很确定情况并非如此.为了避免在修改代码后重新运行模拟,我想知道在这种情况下会发生什么.我是否能够意识到是否发生了0分裂?我会收到错误消息吗?(暂时没有处理例外情况).
谢谢
eta*_*ion 34
对于IEEE浮点数,有限非零浮点数除以0的定义很明确,导致+无穷大(如果值> 0)或-infinity(如果该值小于零).0.0/0.0的结果是NaN.如果使用整数,则行为未定义.
注意C标准说(6.5.5):
/运算符的结果是第一个操作数除以第二个操作数的商; %运算符的结果是余数.在这两个操作中,如果第二个操作数的值为零,则行为未定义.
因此,对于整数类型和浮点,未定义(按标准)/ 0.然而,大多数实现具有前面提到的行为(+ -INF或NAN).
| 归档时间: |
|
| 查看次数: |
41960 次 |
| 最近记录: |