Sto tentando di inizializzare un tipo unsigned long long int
. Ma il compilatore sta gettando un erroreCome inizializzare un tipo lungo lungo senza segno?
"error: integer constant is too large for "long" type ".
L'inizializzazione è la seguente:
unsigned long long temp = 1298307964911120440;
Qualcuno può per favore fatemelo sapere qual è il problema e suggerire una soluzione per lo stesso.
solo per chiarire, 'unsigned long long' deve essere almeno di 64-bit. – GManNickG
@GMan, non firmato da molto tempo non deve essere nulla fino a quando C++ 0x diventa ufficialmente ISO C++ 2011. Sarebbe molto più portatile usare uint64_t da, assumendo che sia l'intestazione sia il tipo esistano. –
@ Michael: Pensavo fosse implicito che stavamo parlando del futuro, dal momento che Jerry dice "assicurati che il tuo compilatore supporti il tipo lungo lungo". Ad ogni modo, sono d'accordo se volessimo forzare un numero ad essere esattamente 64-bit, sarebbe meglio, ma se vogliamo solo un numero elevato garantito-a-almeno-64-bit, 'unsigned long a lungo sarebbe meglio. – GManNickG