Probleme en C avec les puissances
Résolu/Fermé
omaflak
Messages postés
26
Date d'inscription
jeudi 28 juin 2012
Statut
Membre
Dernière intervention
4 mars 2013
-
6 juil. 2012 à 16:03
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 7 juil. 2012 à 16:16
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 7 juil. 2012 à 16:16
A voir également:
- Probleme en C avec les puissances
- Entrée en économiser puissance - Forum Ecran
- Test puissance pc en ligne - Guide
- Puissance en c++ - Forum C++
- Comment faire les puissances sur une calculatrice texas ti-83 - Forum calculatrices
- Puissance 2 en C++ - Forum C++
6 réponses
Utilisateur anonyme
6 juil. 2012 à 16:09
6 juil. 2012 à 16:09
Bonjour
C'est parce que le résultat est beaucoup trop grand... Tu dois demander le résultat dans un int de 32 bits, ça ne tient pas. Alors il te met à la place le plus grand int qu'il connaît : 2^31-1 = 2147483647
C'est parce que le résultat est beaucoup trop grand... Tu dois demander le résultat dans un int de 32 bits, ça ne tient pas. Alors il te met à la place le plus grand int qu'il connaît : 2^31-1 = 2147483647
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 018
6 juil. 2012 à 16:55
6 juil. 2012 à 16:55
En utilisant des nombres flottants tu auras une approximation du genre 7.888609E+69
Remarque, si c'est juste le résultat qui t'intéresse le voici :
double x = pow(5.0, 100.0);Mais si tu veux avoir un calcul exact, il faut se tourner vers des bibliothèques spécialisées de calculs à grands entiers.
Remarque, si c'est juste le résultat qui t'intéresse le voici :
7888609052210118054117285652827862296732064351090230047702789306640625
Utilisateur anonyme
6 juil. 2012 à 16:56
6 juil. 2012 à 16:56
C'est un nombre à 69 chiffres, tu les veux vraiment tous ?
Déjà, si tu te contentes du résultat en flottant, tu as une bonne idée du nombre.
Sinon, il existe des bibliothèques spécialisées pour les calculs avec un nombre arbitraire de chiffes. Je ne connais pas celles du C mais ça ne doit pas être bien difficile à trouver.
Déjà, si tu te contentes du résultat en flottant, tu as une bonne idée du nombre.
Sinon, il existe des bibliothèques spécialisées pour les calculs avec un nombre arbitraire de chiffes. Je ne connais pas celles du C mais ça ne doit pas être bien difficile à trouver.
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 018
6 juil. 2012 à 16:58
6 juil. 2012 à 16:58
En C il y a GMP (pour les systèmes Unix)
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
6 juil. 2012 à 17:14
6 juil. 2012 à 17:14
Tu ne précises pas si tu travaille en arithmétique entière ou flottante, ni ton OS, ni ton compilateur.
Pour une bibliothèque entière de précision , regarde par exemple
The GNU Multiple Precision Arithmetic Library
Pour les flottants:
The GNU MPFR Library
Pour une bibliothèque entière de précision , regarde par exemple
The GNU Multiple Precision Arithmetic Library
Pour les flottants:
The GNU MPFR Library
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
omaflak
Messages postés
26
Date d'inscription
jeudi 28 juin 2012
Statut
Membre
Dernière intervention
4 mars 2013
1
6 juil. 2012 à 16:47
6 juil. 2012 à 16:47
Et ya pas un moyen d'avoir le nombre en entier ?
omaflak
Messages postés
26
Date d'inscription
jeudi 28 juin 2012
Statut
Membre
Dernière intervention
4 mars 2013
1
Modifié par omaflak le 6/07/2012 à 17:16
Modifié par omaflak le 6/07/2012 à 17:16
Ok Merci a tous, mais oui j'aimerai avoir le resultat exacte et pas que pour ce nombre. Enfet il y a un site qui s'appelle ProjectEuler.net, qui propose des probleme compliquer qui necessite un ordinateur pour les resoudre.
Et dans un des probleme j'ai besoin de faire des grand calcul comme
pow(60, 100) :)
Enfin voila le delire quoi ;)
Et dans un des probleme j'ai besoin de faire des grand calcul comme
pow(60, 100) :)
Enfin voila le delire quoi ;)
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 840
6 juil. 2012 à 17:41
6 juil. 2012 à 17:41
Si c'est pour faire ce genre de calcul, pourquoi utiliser le C comme langage ? Il y a des langages bien plus simples comme le python.
60**100 et hop tu as le résultat de 60 puissance 100 avec tous les chiffres ;-))). Bien plus simple.
60**100 et hop tu as le résultat de 60 puissance 100 avec tous les chiffres ;-))). Bien plus simple.
omaflak
Messages postés
26
Date d'inscription
jeudi 28 juin 2012
Statut
Membre
Dernière intervention
4 mars 2013
1
Modifié par omaflak le 6/07/2012 à 19:45
Modifié par omaflak le 6/07/2012 à 19:45
Mais si je fait ca c'est pour m'entrainer a faire des algorithme en C
Parce que sinon je pourrai faire ca meme en Basic !
Parce que sinon je pourrai faire ca meme en Basic !
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 840
7 juil. 2012 à 16:16
7 juil. 2012 à 16:16
Ok. Beh dans ce cas, soit tu utilises une bibliothèque pour gérer les grands nombres. Soit tu l'implémentes toi-même, c'est un bon exercice pour s'entraîner :-).