gmp et les grands nombres :( - C++ - Programmation
Marsh Posté le 11-05-2004 à 15:45:31
ok merci de je n'y arrive toujours pas ( newbie !) donc de façon plus concrete, je dois definir un entier grand et prendre sa racine carré, comment faire ?
Merci encore, mais un exemple vaut mieux pour moi que des tonnes de HOWTO !
Marsh Posté le 11-05-2004 à 15:53:27
Mais pourquoi n'utilise tu pas les double ?
Car ça correspond à peu près à 1024 bits :
1.7976931348623158e+308
Marsh Posté le 11-05-2004 à 15:54:27
sa ne passe pas car je dois l'elever au carré, donc je suis obliger d'utiliser gmp
Marsh Posté le 11-05-2004 à 16:38:00
Quelqu'un peut il m'aider pour GMP, je suis en pleine galére !!!
Please
P.S : Penser qu'un jour aussi vous avez été newbie dans un domaine....non ?
Marsh Posté le 11-05-2004 à 16:40:14
J'ai pas GMP ici. Ce soir, si je suis pas trop désespéré, je ponderais une ligne
Marsh Posté le 11-05-2004 à 17:06:27
Si tu as le temps kadreg,
mon nombre fait 513 bits soit 155 chiffres, donc essayes de prendre un nombre similaire, car j'ai l'impression que mon plantage viens de la taille de mon nombre, non geré par gmp, ou plutôt g++, mon compilateur !
Encore Merci à toi.
Marsh Posté le 11-05-2004 à 21:02:27
Code :
|
Marsh Posté le 11-05-2004 à 21:04:35
puts ("\n" );
sinon le wrapper C++ fait tout ça bien plus proprement
Marsh Posté le 11-05-2004 à 21:06:13
Taz a écrit : puts ("\n" ); |
J'ai voulu glisser un fflush (stdin), mais j'ai pas eut l'occasion
Marsh Posté le 11-05-2004 à 21:06:39
Ah, merde, j'avais pas vu la cat. Tu nous fait le même en C++ ?
Marsh Posté le 11-05-2004 à 21:12:31
Code :
|
je pense. par contre ça saoule que y ait pas de namespace
Marsh Posté le 11-05-2004 à 21:40:58
Une question, car moi je croyais qu'il fallait utiliser endl, donc pourquoi '\n' ?
Marsh Posté le 11-05-2004 à 21:43:56
vous êtes lourd là sérieux
le retour à la ligne sera toutjours '\n', et pas "\n" ou endl
endl c'est '\n' + flush
Marsh Posté le 11-05-2004 à 21:47:20
mais on le voi partout ca (cour , tuto et autre)
on voit meme des cerr<<...<<endl; c'est pour dir :s
Marsh Posté le 11-05-2004 à 21:54:18
cerr est pas bufferisé, aucun intérêt de flusher !
quand utilisé endl ? ben quand tu veux faire un retour à la ligne de flusher, sinon si tu veux juste un retour à la ligne, '\n' et basta
Marsh Posté le 11-05-2004 à 21:58:39
Taz a écrit : cerr est pas bufferisé, aucun intérêt de flusher ! |
ben c'est bien ce que je reproche, pourquoi yen a qui utilise endl avec cerr ? zon ka utilise clog, le but de cerr c'est d'etre sur que ce soit affiché
Marsh Posté le 12-05-2004 à 12:36:11
Merci beaucoupe les gars pour toutes ces participations !!
C'est super cool
Juste une derniere question, comment assigner des variables, je m'explique :
On veux dire par exemple :
number2 = -2 * number * number ;
Comment le faire avec gmp si on n'a pas de valeurs chiffrées pour number, du genre c'est l'utilisateur qui le saisit !
car :
mpf_set_str (d,(b*b)-(4*n),10) ;
Ne marche pas par exemple.
Merci d'avance!
P.S : mpf_floor existe ?
Marsh Posté le 12-05-2004 à 13:25:41
roule007 a écrit : |
On t'a filé suffisament de liens pour que tu puisse répondre. La première qualité d'un programmeur, c'est de chercher l'information.
Marsh Posté le 12-05-2004 à 13:58:49
roule007 a écrit : |
et bien tu l'écris pareil
Marsh Posté le 12-05-2004 à 17:44:10
Merci @ tous, grace à votre aide j'ai vachement pu avencer, mais toutefois,
Question a laquelle je n'ai pas trouvée de réponse dans la doc :
Y a t'il un moyen d'afficher nos nombres en complet non de la forme : 1.15792e+77
Est-ce que ça dépend du compilateur ou de la bibli et surtout comment faire ?
Encore merci !
Marsh Posté le 17-01-2005 à 16:04:37
moi j'utilise NTL de Victor Shoup (www.shoup.net/ntl/). Vous sauriez me dire si c'est moins bien ou mieux que GMP ?
Avantages/Inconvénients pour chaque librairie?
thx
Marsh Posté le 17-01-2005 à 17:27:54
ben libntl est comment dire ... inconnue. Elle a l'air pas mauvaise (GPL) et l'interface à l'air correcte
Marsh Posté le 18-01-2005 à 15:51:16
d'autres avis sur "Avantages/Inconvénients" pour chaque librairie (NTL et GMP) ?
Marsh Posté le 08-02-2005 à 16:05:51
Après étude, il s'avère que :
GMP est dix fois plus rapide que NTL. Toutefois, GMP est un peu moins convivial et pratique que NTL. Enfin, GMP n'est pas adapté aux calculs trigonométriques (cos, sin, etc).
Marsh Posté le 11-05-2004 à 15:32:31
Yep @ tous,
J'ai un programme à faire en C++ avec la bibliothéques gmp, sous linux avec compilateur g++ (pour la gestion des grands nombres 512, 1024 bits) et je suis coincé !
Voilà je dois faire des calculs (racine carré) sur des nombres de 513 bits pour etre précis et je suis incapable de faire un simple sqrt(n) avec gmp ou "n" est mon nombre de 513 bits !
Alors s'il y a une personne qui peux m'aider, merci d'avance !
De même, impossible d'utiliser la fonction floor, toujours avec gmp, donc A L'AIDE Please
Merci beaucoup !