我知道应该避免这种情况,但不幸的是我必须在混合计算中使用整数和浮点(双精度)。标题已经说明了这个问题:只要没有溢出,无论数值如何,以下代码是否保证可以与所有 c++ 浮点实现一起工作(无断言)?
编辑:忘了提到价值观总是积极的
double realSplit = seg.squareLength() / sqr(maxLength);
int split = realSplit;
assert(realSplit-split >= 0.0);
我知道应该避免这种情况,但不幸的是我必须在混合计算中使用整数和浮点(双精度)。标题已经说明了这个问题:只要没有溢出,无论数值如何,以下代码是否保证可以与所有 c++ 浮点实现一起工作(无断言)?
编辑:忘了提到价值观总是积极的
double realSplit = seg.squareLength() / sqr(maxLength);
int split = realSplit;
assert(realSplit-split >= 0.0);