GCC是否支持:
long long int
这是一个64位整数?
此外,long long int
是标准的一部分吗?
答案 0 :(得分:32)
是的,GCC支持long long int
,这是C99标准的一部分。
标准不要求其位大小,但LLONG_MIN
中LLONG_MAX
和<limits.h>
所需的值意味着它的至少 64位(< em>完全 64位宽的整数类型来自int64_t
} uint64_t
/ <stdint.h>
。
LLONG_MIN
最多必须为-9223372036854775807
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_MAX
,llrint(d)
,llround(d)
,其他一些。)gcc已经实施了一段时间。
答案 4 :(得分:5)
为了打印long long int变量:
long long int lli = 100000000;
printf("%lld\n", lli);
答案 5 :(得分:5)
另请参阅:(u)int128_t和此discussion on GCC's 128-bit integer support
答案 6 :(得分:2)
我认为通常unsigned long long
是64位整数的传统表示。我假设long long int
也可以工作,但我从来没有亲眼见过任何64位变量。