Bonjour à tous !
Existe-il un logiciel, programme etc. qui permet d'effectuer sur PC lambda des opérations arithmétiques classiques ( + - / * ) sur des nombres comportant plusieurs dizaines de chiffres significatifs ?
Merci pour toute info !
-----
Bonjour à tous !
Existe-il un logiciel, programme etc. qui permet d'effectuer sur PC lambda des opérations arithmétiques classiques ( + - / * ) sur des nombres comportant plusieurs dizaines de chiffres significatifs ?
Merci pour toute info !
On trouve des chercheurs qui cherchent ; on cherche des chercheurs qui trouvent !
Hello,
oui, ensuite tout dépend de ce dont tu as réellement besoin, ça va de la bombe thermonucléaire (type matlab, scilab, etc) à la bonne tapette à mouches (sous linux bc,dc par exemple). Il y a aussi pas mal de bibliothèques implémentant les calculs en précision arbitraire (GMP par exemple).
Lorsqu'on a besoin de nombres (entiers ou réels) dépassant les capacités du processeur, on traitait souvent les calculs à partir de chaînes alphanumériques décomposées. C'est une piste remontant aux années 80 ; je ne suis pas certain que la démarche soit obsolète. Pas certain non plus du contraire.
Bonjour,
C'est une très mauvaise solution pour les machines modernes.Lorsqu'on a besoin de nombres (entiers ou réels) dépassant les capacités du processeur, on traitait souvent les calculs à partir de chaînes alphanumériques décomposées. C'est une piste remontant aux années 80 ; je ne suis pas certain que la démarche soit obsolète. Pas certain non plus du contraire.
Pour ce genre de calculs, je conseille GMP, bibliothèque très performante.
Bon à savoir. Alors, je retire. Quel est l'algo de GMP (si tu sais).
Bonjour,
Pour les calculs de base, c'est comme quand tu fais toi-même les calculs à la main (sauf que pour GMP, un "chiffre" est le contenu d'un mot natif du processeur, soit un "chiffre" correspondant à 32 ou 64 bits, seule méthode pour utiliser efficacement la puissance de calcul du processeur).
La différence est que GMP est bien optimisée, et utilise des algorithmes de plus en plus performants quand la taille des nombres augmente.
Pourquoi ne pas utiliser ces "algorithmes de plus en plus performants" même avec les nombres plus petits (c'est relatif, on parle déjà de nombre d'environ 100 chiffres décimaux, ou plus) ?
C'est parce qu'il ne deviennent très performants qu'au delà d'une certaine taille, car ils impliquent une préparation des calculs, préparation qui prend trop de temps pour les "petits" nombres. Le "au delà d'une certaine taille" dépend d'ailleurs fortement du processeur utilisé, c'est pourquoi GMP est constamment mise à jour pour les processeurs récents.
Merci ! Je compte m'instruire au plus tôt pour virer une arquebuse que je traîne depuis près de trente ans. Qui fonctionnait avec des chaînes immenses (beaucoup plus longues que 100 décimaux), mais qu'on traitait en assembleur pour aller plus vite.
Merci à tous pour ces infos !
On trouve des chercheurs qui cherchent ; on cherche des chercheurs qui trouvent !
Sinon j'ai découvert mpir qui est plus ou moins identique à gmp mais qui permet plus facilement de travailler avec visual studio par exemple (comme je le souhaite perso)
Bonjour,
L'assembleur est toujours de rigueur pour la partie basique des calculs, ne serait-ce que parce que aucun compilateur ne sait gérer ce qu'il est nécessaire de faire).
Avec une bibliothèque équivalente (que je ne peux pas donner, le propriétaire est mon employeur de l'époque ), j'ai déjà travaillé sur des nombres dépassant 3 milliards de chiffres décimaux, et ça peut aller aussi loin qu'on le désire (en fait, la limite théorique est si élevée qu'il est inutile de se poser la question lors de l'utilisation, si on y arrive, c'est qu'on a un problème quelque part).
Bonjour,
Oui, mpir est assez bien aussi, même si je préfère GMP.Sinon j'ai découvert mpir qui est plus ou moins identique à gmp mais qui permet plus facilement de travailler avec visual studio par exemple (comme je le souhaite perso)
GMP est bien entendu utilisable avec Visual Studio, mais il faut admettre qu'il y a un peu de boulot pour préparer tout ça.