GCC是否支持long long int?
GCC是否支持:
long long int
这将是一个64位整数?
还有, long long int
标准的一部分是什么?
是的,GCC确实支持long long int
,这是C99标准的一部分。
该标准没有LLONG_MIN
要求其大小,但
的LLONG_MIN
和LLONG_MAX
所需的值意味着它至少为 64位( 确切的 64位宽整数类型是来自int64_t
/ uint64_t
)。
-
LLONG_MIN
必须至多为-9223372036854775807
-
LLONG_MAX
必须至少为9223372036854775807
long long int
是C99标准的一部分,我知道GCC支持它。 现在我可以certificate这一点。
在我的32位机器上,
int main() { printf("%d\n", sizeof(long long int)); return 0; }
用gcc
打印8(8字节* 8位/字节= 64位)。
是的, long long
是C99的一部分,以及long long
常量( 10222333444555LL
)和一些支持元素。 ( LLONG_MAX
, llrint(d)
, llround(d)
,其他一些。)gcc已经实现了一段时间了。
为了打印long long int变量:
long long int lli = 100000000; printf("%lld\n", lli);
很长的时间都得到了很好的支持,并且已经很长时间了[抱歉]。 据我所知,这应该是64位平台上的128位,但出于GCC的兼容性/可移植性原因,已经标准化为64位宽度。
另请参阅:(u)int128_t,以及关于GCC的128位整数支持的讨论
我相信通常unsigned long long
是64位整数的传统表示。 我假设long long int
也会工作,但我从来没有亲眼见过任何64位变量。