C ++中long long int的确切最大值是多少?

问题描述 投票:1回答:3

我已经使用c++超过3个月了,我无法弄清楚long long int中数字的确切最大值。

有人知道它的价值吗?

c++ long-integer
3个回答
3
投票

取决于系统。 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

2
投票

long long int没有C ++语言指定的固定最大值-它取决于平台。

使用std::numeric_limits<long long>::max()(来自<limits>标头)获得最大值。


1
投票

C ++标准对<limits>修饰符的保证是它将具有至少64位的宽度。 (请参见long long。)>

但是,类型的确切宽度取决于特定的平台,因此您可能会为类型获得更多的64位。

要检查here类型可以在您的计算机和实现中保留的最大和最小数量,请使用long long int库和<limits>。您可以阅读有关std::numeric_limits<long long>的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.