作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Visual C++ 2010 中,我试过这个
double d= DBL_MAX;
double dblmaxintpart;
modf(DBL_MAX, &dblmaxintpart);
在我放置的调试器窗口中
d == dblmaxintpart
结果为 true。
我可以假设 DBL_MAX 等于它的整数部分作为一个始终有效的断言吗?
最佳答案
是的,表示整数的 double
的整数部分始终是 double
本身,即使在 DBL_MAX
时也是如此。事实上,任何大于 2^52 的 double
都会将其自身作为整数部分,因为该大小的 double 没有足够的尾数位来表示分数。
出于类似的原因,并非所有大于 2^53 的整数都可以表示为 double
(尽管当转换为 double
时,它们仍然是整数)。
最后,任何小于 1 的 double
的小数部分将恰好是它本身,而任何 double
的小数部分和整数部分相加时,将恰好产生原始 double
。
关于c++ - DBL_MAX 整数部分相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19428965/
我是一名优秀的程序员,十分优秀!