Quelles données dois-je utiliser pour stocker jusqu'à 18 chiffres dans une variable en c++?
Je suis en train d'essayer de résoudre un code qui me demande d'entrée et de sortie valeur entière jusqu'à 18 chiffres. Malheureusement, je suis incapable de stocker la valeur dans n'importe quel type de données. J'ai déjà essayé
long int
unsigned long long
long long double,
Aucune de ces semblent fonctionner.Peut-u s'il vous Plaît me suggérer quelque chose qui pourrait m'aider à la sortie de la valeur.
unsigned long long
devrait être suffisant.Si vous avez essayé
unsigned long long
et il n'a pas de travail pour stocker un numéro à 18 chiffres, alors vous devez être débordant de quelque part d'autre. Poste ton code et nous pouvons peut-être trouver le problème.Peut-être que ce sont des chiffres hexadécimaux?
Est-il possible que tu veux dire 18 chiffres plutôt que d' *un nombre entier de 18 chiffres
*? If the former is the case, you can store your digits in a string of 18 characters. Why do you need it to be an
int? Do you need
int` opérations (c'est-à: addition, soustraction, etc). Une chaîne peut être lexicographiquement comparé et donnera le même commander le type entier.OriginalL'auteur amian | 2013-10-28
Vous devez vous connecter pour publier un commentaire.
18 chiffres donne une valeur maximale possible de 999,999,999,999,999,999 ≈ de 9,9 × 1017. Cela permettra de s'inscrire dans une, non signé entier de 64 bits (valeur maximale de 264, qui est d'environ 1.8446744 × 1019). Essayez d'utiliser le
uint64_t
type pour s'assurer que vous obtenez ce.Espérons que cette aide!
int64_t
ainsi, par la manière. 10 bits (2^10 = 1024) est légèrement supérieure à 3 chiffres (10^3 = 1000).Quand j'écris ce un uint64_t a = 23456789123434; j'ai une erreur qui dit "entier const est trop grande pour le type long"
essayez d'écrire
uint64_t a = 23456789123434ull;
au lieusi je dois prendre une entrée stdin qui est de 18 chiffres. Comment dois-je le conserver? @user2802841
2^64 est d'environ 1,8×10^19. Vous êtes d'un facteur de 10.
OriginalL'auteur templatetypedef
Vous pouvez utiliser des chaînes de caractères. Vérifiez ce grand entier de la bibliothèque C++ ici.
http://ideone.com/7sgc4J
Code:
OriginalL'auteur Md. Al-Amin
Utilisation
auto
. Si vous êtes à l'aide d'un compilateur version, ils ont tous (gcc, clang, vc++, Intel) mettre en œuvre. Les outils sont assez intelligents pour optimisé pour vous maintenant. Aussi, êtes-vous bâtiment pour 32bit ou 64bit?Hmm, bizarre. Avez-vous essayé l'auto?
OriginalL'auteur sean_m