2013-07-22 1187 views
7
for (x = 0; x < 1ULL<<(2*length); ++x){ 

これは私がダウンロードしたCプログラムコードです。それは "1ULL"の部分を持っています。最初は間違いだと思った。コードはコンパイルされ、うまく機能します。誰も私にそのことが何であるかを説明してもらえますか?Cプログラミング言語の "1ULL"の意味は?

は、これらの文字はリテラル1を変更し、タイプunsigned long longのそれを作る....

+0

符号なしロング 'ULL'サフィックス –

+2

https://www.google.com/search?q=c+ull+suffix+numberは約500万件の結果をスローしますが、そのうちの1つは満足のいくものでしたか? –

+0

誰がこれをupvotingですか? –

答えて

3

をお願いします。

これは、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 
+1

私はすでに皆さんに投票していますが、使い勝手を教えない限り、回答は不完全だと思います。 –

+1

たとえば、 'sizeof(1)!= sizeof(1ULL)'です。 –

9

サフィックスULL整数に型指定を表します。それはあなたがまた、詳細についてはthisthis oneを読むのが好きかもしれ

unsigned long long 

を意味します。

3

これは、値がunsigned long longとみなされる必要があることをコンパイラーに通知する方法です。

関連する問題