【发布时间】:2013-05-28 20:58:15
【问题描述】:
我理解 C++ 将 INT_MIN 定义为 (-2147483647 - 1) 的原因,但他们为什么不直接使用 1
【问题讨论】:
-
就个人而言,我发现同样令人惊讶的是,将其定义为
-2147483648会失败。我的意思是,它 是 的确切值,但编译器会抱怨它超出范围。老实说,这很愚蠢。 -
@MatthieuM。怎么可能在范围内?毕竟是
-(2147483648),而且2147483648在32位平台上肯定比INT_MAX大。 -
@MSalters:也许
-应该是数字文字的一部分? -
@MatthieuM。这也适用于
- 123吗? IE。空间是奥肯的一部分吗?这种变化很少像看起来那么简单。您必须证明不会影响任何合理的程序。 -
@MSalters:哦,我知道现在更改它可能是不可能的(当然,空格会破坏令牌,毕竟
1 2 3不是123);我只是在批评最初的决定。
标签: c++ numeric-limits