-
BigInteger en C++
salut � tous,
J'ai un programme qui manipule des nombres tr�s tr�s grands ,pour cela j'utilise la class BigInteger en java ,le probl�me c'est que �a ne s'execute pas trop vite ,du moins pas comme je l'aimerais et je me demande si il n'est pas possible de manipuler de tels nombres en C++ ou m�me en C.
Merci
-
Si, il existe pas mal de classes pour faire une telle chose en C++ (aucune en t�te d�sol� -- peut-�tre chez boost ?). Par contre je ne sais pas si tu y gagneras vraiment en rapidit�.
-
Boost? Je ne sais pas. Dans la sandbox peut-�tre.
Je partirai plut�t des liens dispos sur le site du projet Blitz++.
-
Bonjour,
personellemnt pour les BigNums j'utilise soit MIRACL, soit GMP suivant les besions (MIRACL �tant une lib pour bignums mais plus sp�cifiquement d�volue � la cryptographie).
C'est deux biblioth�ques poss�dent des wrappers C++ et n'ont pas de limite quant � la taille des chiffres manipulables (si ce n'est bien s�r la m�moire du syst�me h�te).
- GMP (GNU Multiple Precision Arithmetic Library)
http://www.swox.com/gmp/
- MIRACL (Multiprecision Integer and Rational Arithmetic C/C++ Library)
http://indigo.ie/~mscott/
Ces deux biblioth�ques sont vraiment tr�s rapides ! (attention � la licence de MIRACL qui reste gratuite si le programme est de m�me. La licence payante est vraiment tr�s ch�re ! [1000 euros pour une seule licence...])
-
merci � tous ceux qui m'ont repondu ,surtout Neitsa, je pense que je vais uset� GMP .
-
Juste une chose: tes nombres d�passent-ils les -3.4*10^-4932 ou 3.4*10^4932? (^=puissance... )
Si non: utilise des "long double"...
J'esp�re qu je suis dans le sujet...
A++
-
L'arithm�tique en virgule flottante est horriblement impr�cise d�s lors qu'on effectue une longue suite de calcul. S'il emploie des BigInteger, il souhaite s�rement des r�sultats exacts, il est donc extr�mement improbable qu'il utilise des long doubles � la place.
--
Jeda�
-
Ok! Merci de la pr�cision!