我已经使用c++
超过3个月了,我无法弄清楚long long int
中数字的确切最大值。
有人知道它的价值吗?
取决于系统。 C ++标准仅保证long long int
will be 64-bits的最小大小。到目前为止,这也是最常见的尺寸。
使用64位大小,可以表示的最大数字为2^63 - 1
,等于9223372036854775807
。之所以如此精确,是因为我们需要一半的组合位用于负数,然后一个用于0
,其余的用于正数。
也可以通过编程检查特定系统上的最大值:
#include <iostream>
#include <limits>
int main() {
std::cout << std::numeric_limits<long long int>::max();
}
输出:
9223372036854775807
long long int
没有C ++语言指定的固定最大值-它取决于平台。
使用std::numeric_limits<long long>::max()
(来自<limits>
标头)获得最大值。
C ++标准对<limits>
修饰符的保证是它将具有至少64位的宽度。 (请参见long long
。)>
但是,类型的确切宽度取决于特定的平台,因此您可能会为类型获得更多的64位。
要检查here类型可以在您的计算机和实现中保留的最大和最小数量,请使用long long int
库和<limits>
。您可以阅读有关std::numeric_limits<long long>
的更多信息。