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

questa riga è un codice di programma c che ho scaricato. Ha una parte "1ULL". Per prima cosa ho pensato che fosse un errore. ma il codice si compila e funziona bene. qualcuno può spiegarmi che cosa significa quella cosa.Qual è il significato di "1ULL" nel linguaggio di programmazione c

grazie ....

+0

Unsigned Long long 'ULL' suffisso –

+2

https://www.google.com/search?q=c+ull+suffix+numero genera quasi 5 milioni di risultati, che uno di loro non ha trovato soddisfacente? –

+0

Chi sta svalutando questo ??? –

risposta

3

Quelle lettere modificano la letterale 1 e renderlo di tipo unsigned long long.

Questo è trattato nel C99 (ISO/IEC 9899) §6.4.4.1 costanti intere:

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

Ho già votato tutti voi, ma penso che le risposte siano incomplete finchè non ne dite l'usabilità. –

+1

per esempio 'sizeof (1)! = Sizeof (1ULL)'. –

9

suffisso ULL ad un numero intero rappresenta specificatore di tipo. Significa

unsigned long long 

Potrebbe piacerti anche leggere this e this one per maggiori dettagli.

3

È un modo per segnalare al compilatore che il valore deve essere considerato come unsigned long long.

Problemi correlati