c编程语言中“1ULL”的含义是什么?

时间:2013-07-22 19:23:38

标签: c

for (x = 0; x < 1ULL<<(2*length); ++x){

以上这行是我下载的c程序代码。它有一个“1ULL”部分。首先我认为这是一个错误。但代码编译并运行良好。任何人都可以解释一下这是什么意思。

谢谢....

3 个答案:

答案 0 :(得分:10)

后缀ULL表示整数,表示类型说明符。这意味着

unsigned long long

您可能还想阅读thisthis one了解更多详情。

答案 1 :(得分:5)

这些字母会修改文字1并使其为unsigned long long类型。

C99(ISO / IEC 9899)§6.4.4.1整数常量:

integer-suffix:
unsigned-suffix long-suffixopt
unsigned-suffix long-long-suffix
long-suffix unsigned-suffixopt
long-long-suffix unsigned-suffixopt
unsigned-suffix: one of
u U
long-suffix: one of
l L
long-long-suffix: one of
ll LL

答案 2 :(得分:4)

这是一种向编译器发出信号的方式,该值必须被视为unsigned long long