作业帮 > 综合 > 作业

std::numeric_limits::epsilon()

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/04/28 00:29:28
std::numeric_limits::epsilon()
等于什么?
std::numeric_limits::max()我知道这个是取double的编译器允许的最大值,但是
std::numeric_limits::epsilon()是什么?
std::numeric_limits::epsilon()
运行编译程序的计算机所能识别的最小非零浮点数.
再问: std::numeric_limits::min()这个呢?
再答: std::numeric_limits::min() 返回的是编译器定义的最小的双精度浮点数。 假设: double eps = std::numeric_limits::epsilon(); double min = std::numeric_limits::min(); 则两者的区别是: min 是编译器认可的最小的正双精度浮点数; eps 是可以保证 1.0 + eps != 1.0 这个表达式成立的最小的正双精度浮点数。
再问: 意思是相当于无限接近于1.0的那个正双精度浮点数?
再答: 是的。理论上 eps 和 min 两个数字应该一样大,不过具体编译器中的定义可能不同。