浮点溢出
如果产生浮点类型的算术运算产生的值不在结果类型的可表示值范围内,则根据 C++标准未定义行为,但可能由机器可能符合的其他标准定义,例如 IEEE 754。
float x = 1.0;
for (int i = 0; i < 10000; i++) {
x *= 10.0; // will probably overflow eventually; undefined behavior
}
如果产生浮点类型的算术运算产生的值不在结果类型的可表示值范围内,则根据 C++标准未定义行为,但可能由机器可能符合的其他标准定义,例如 IEEE 754。
float x = 1.0;
for (int i = 0; i < 10000; i++) {
x *= 10.0; // will probably overflow eventually; undefined behavior
}