GCC是否支持long long int?

时间:2009-10-06 03:46:12

标签: c++ c gcc

GCC是否支持:

long long int

这是一个64位整数?

此外,long long int是标准的一部分吗?

7 个答案:

答案 0 :(得分:32)

是的,GCC支持long long int,这是C99标准的一部分。

标准不要求其位大小,但LLONG_MINLLONG_MAX<limits.h>所需的值意味着它的至少 64位(< em>完全 64位宽的整数类型来自int64_t} uint64_t / <stdint.h>

  1. LLONG_MIN最多必须为-9223372036854775807
  2. LLONG_MAX必须至少为9223372036854775807

答案 1 :(得分:10)

long long int是C99标准的一部分,我知道GCC支持它。 And now I can prove it.

答案 2 :(得分:8)

在我的32位计算机上,

int main()
{
    printf("%d\n", sizeof(long long int));
    return 0;
}
gcc编译的

打印8(8字节* 8位/字节= 64位)。

答案 3 :(得分:5)

是的,long long是C99的一部分,以及long long常量(10222333444555LL)和一些支持元素。 (LLONG_MAXllrint(d)llround(d),其他一些。)gcc已经实施了一段时间。

答案 4 :(得分:5)

为了打印long long int变量:

long long int lli = 100000000;

printf("%lld\n", lli);

答案 5 :(得分:5)

长期以来得到了很好的支持,并且已经很长时间了[抱歉]。据我了解,这应该是64位平台上的128位,但出于GCC的兼容性/可移植性原因,已经标准化为64位宽度。

另请参阅:(u)int128_t和此discussion on GCC's 128-bit integer support

答案 6 :(得分:2)

我认为通常unsigned long long是64位整数的传统表示。我假设long long int也可以工作,但我从来没有亲眼见过任何64位变量。