Mar*_*tin 0 c++ floating-point integer type-conversion
我知道这应该避免,但不幸的是我必须在混合计算中使用整数和浮点(double).标题已经提出了一个问题:只要没有溢出,以下代码是否保证与所有c ++浮点实现一起工作(无断言),无论数值如何?
编辑:忘了提到价值总是积极的
double realSplit = seg.squareLength() / sqr(maxLength);
int split = realSplit;
assert(realSplit-split >= 0.0);
Run Code Online (Sandbox Code Playgroud)