Je traite avec un exemple de mathématiques. Je dois utiliser un numéro à 12 chiffres pour mon code. Alors, quel type de données dois-je utiliser, pour utiliser le numéro dans mes fonctions?Comment utiliser le numéro à 12 chiffres en C?
5
A
Répondre
2
entiers 64 bits (long
, int64_t
, unsigned long
, uint64_t
) devrait faire l'affaire, ou si vous avez besoin décimaux, double
ou long double
.
0
Alors que la recherche d'une bibliothèque appelée Bignum que j'ai trouvé ce wiki page
4
Si vous avez un type entier 64 bits, je partirais avec cela, car il vous donne la (18 chiffres complets) plage:
−9,223,372,036,854,775,808 to
+9,223,372,036,854,775,807
Pour d'autres tâches (encore plus grands nombres entiers ou massives valeurs à virgule flottante), j'utilise GMP, la bibliothèque multi-précision GNU. C'est la performance est impressionnante.
1
vous pouvez également utiliser "long unsigned long" avec spécificateur de format "llu". Il fonctionne très bien pour un nombre à 12 chiffres en C.
unsigned long long i=600851475143;
printf("%llu",i);
Questions connexes
- 1. générons 12 Numéro de chiffres HEX dans KSH
- 2. Comment imprimer un numéro à 4 chiffres?
- 3. Comment obtenir les 12 derniers chiffres d'une chaîne dans MySQL?
- 4. chiffres séparés d'un nombre long en C++
- 5. imprimer un numéro à 5 chiffres pour les mots en utilisant C#
- 6. Comment puis-je utiliser l'analyseur de date/heure du langage naturel Chronique pour analyser "12:00" comme 12:00 PM?
- 7. scala ne prendra pas un nombre entier de 12 chiffres
- 8. Comment déterminer si le nombre a chiffres identiques en C
- 9. Réparer le numéro de code avec des chiffres manquants
- 10. Correspondant à un numéro à 7 chiffres dans le plan de numérotation
- 11. Validation pour un numéro de téléphone à 10 chiffres
- 12. Convertir une lettre en chiffres
- 13. Expression régulière correspondant à 7-12 chiffres; peut contenir de l'espace ou un trait d'union
- 14. comment fusionner quatre chiffres hexadécimaux en 3 chiffres hexadécimaux en C#
- 15. Utiliser le numéro comme Monoid
- 16. ce qui est le SQL pour afficher un numéro (200909) en septembre 2009 dans Teradata 12
- 17. Comment couper les premiers chiffres? C++
- 18. Comment utiliser le fichier tlb en C?
- 19. Comment utiliser le dictionnaire imbriqué en C#?
- 20. C# WPF Redimensionner le numéro
- 21. Valider un 10 chiffres ISBN Numéro ERD Inclus
- 22. Perl Chomp tourner le numéro à plusieurs chiffres dans 1 ou 0
- 23. En C, comment vérifier si une chaîne contient 2 chiffres, 1 lettre et 4 chiffres?
- 24. RegularExpressionValidator.ValidationExpression pour forcer la longueur en 10 ou 12 symboles
- 25. Objectif C- Comment ajouter des chiffres dans un nombre?
- 26. Comment puis-je trouver le numéro de port attribué à un client UDP (en .net/C#)?
- 27. Supprimer le signe E du grand numéro de flotteur, C#?
- 28. Horodatage à 18 chiffres?
- 29. Java + regex comment vérifier une telle chaîne "LOAD_filesourceB-01012008_000058.dat" pour le type et le numéro (6 derniers chiffres)
- 30. regex Objective-c pour vérifier le numéro de téléphone
Si vous avez besoin de nombres décimaux, vous n'avez pas de chance en C pur; 'double' et' long double' sont des types à virgule flottante, pas des nombres décimaux. – Joey
Non. J'ai * fait * mention d'entiers 64 bits, qui peuvent contenir bien plus de 12 chiffres même s'ils sont signés! –
que devrais-je utiliser par exemple en les imprimant? "% ld" était pour longtemps aussi loin que je me souvenais? – DesperateCoders