gpt4 book ai didi

c++ - 为什么 numeric_limits::max() > numeric_limits::infinity()?

转载 作者:IT老高 更新时间:2023-10-28 12:59:53 30 4
gpt4 key购买 nike

我正在阅读 Setting an int to Infinity in C++ .我知道当一个人需要真正的无限时,应该使用 numeric_limits<float>::infinity() ;我猜它背后的基本原理是,通常整数类型没有指定用于表示特殊状态的值,如 NaNInf 等,就像 IEEE 754 float 一样(同样 C++ 没有t 既不强制 - intfloat 使用都留给实现);但是 max > infinity 仍然具有误导性对于给定的类型。我试图理解标准中这个调用背后的基本原理。如果有 infinity对一个类型没有意义,那么不应该禁止它而不是用一个标志来检查它的有效性吗?

最佳答案

函数numeric_limits<T>::infinity()对那些 T 有意义numeric_limits<T>::has_infinity返回 true .

如果是 T=int , 它返回 false .所以这种比较没有意义,因为 numeric_limits<int>::infinity()不返回任何有意义的值进行比较。

关于c++ - 为什么 numeric_limits<int>::max() > numeric_limits<int>::infinity()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13861629/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com