2^1024, calculs sur de grand nombres

Résolu
pazgal Messages postés 12 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 11 mai 2006 - 28 mai 2005 à 21:35
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 - 29 mai 2005 à 04:33
Bonsoir,



Ma question est simple : j'aimerais faire des calculs sur des nombres
grands, très grands ... Mais à priori l'ordi m'envoye ballader...
Comment faire?

Merci d'avance.

4 réponses

ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
29 mai 2005 à 00:00
C'est pas compliqué... en plus, y'a déjà beaucoup de sources et de post de forum sur Codes-Sources!!!



Le truc c'est de faire comme à l'école primaire... C'est à dire,
chiffre par chiffre et de tout mettre soit dans un tableau, soit dans
des Strings (chaines de texte).



Cherche avec Google + "vbfrance" et tu trouveras



Enjoy



(Si une réponse vous convient, cliquez sur le bouton "Accepter la réponse"...)
3
pazgal Messages postés 12 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 11 mai 2006
29 mai 2005 à 00:24
Merci pour ta réponse, j'ai trouvé selon le procédé que tu m'a décris.
Mais est-ce rapide au niveau du temps de calcul ? Je cherche a
factoriser des nombres très grands donc si la fonction est lente c'est
vraiment pas top. Il n'y a vraiment pas moyen de traiter ces nombres
comme des nombres et non des chaînes ?
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
29 mai 2005 à 02:57
Salut
Si tu cherches les limites de chaque type de variable, regarde dans l'aide de VB6, catégorie "Résumé des types de données"

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
29 mai 2005 à 04:33
Les fonctions comme ça sont de toutes façons un peu
lentes!!! D'autant plus si tu codes en VB!!! Bon, encore, en C ou en
ASM, là y'a des moyens d'aller vite (travail au niveau de la mémoire,
vitesse intrinsèque, ...) mais en VB, faut avoir un bon proce, c'est
tout Enfin, tu me diras, de nos
jours, si t'as un 2,5 Ghz, t'as pas trop de soucis à te faire... Sauf
si ton programme doit tourner 24H/24 auquel cas faudra y réfléchir à 2
fois avant de coder quoi que ce soit!!!



Déjà tout dépend évidemment du nombre de factorisations que tu as à faire!!! Il faut savoir que c
e ne sont pas les moyens/techniques d'optimisations qui manquent dans ce domaine!!!




Il y a toujours plusieurs façons de faire... Par exemple, si tu veux
faire des puissances, il y a plusieurs techniques différentes dont
certaines t'évite de faire un paquet de calculs... Seulement faut-il y
penser... ou plutôt, se pencher sérieusement sur les différentes façons
de procédre!



Mais bien sûr, tout dépend également comme tu codes tes routines. Par
exemple, si c'est toi qui utilise le prog (et que donc, tu sais
exactement comment il fonctionne/réagit), tu peux te passer de faire un
paquet de tests et donc, gagner un temps de calcul considérable!!!
Ensuite, y'a aussi la façon de faire : si tu stockes les résultats sur
HD ce sera nettement plus lent que si tu stockes tout ça en mémoire. Pi
en mémoire, si tu stockes les résultats dans un tableau, c'est pas
pareil que dans une chaine de caractère!!! Mais pour savoir ce qui, par
exemple entre un tableau et une chaine de caractère, est préférable
d'utiliser, il faut faire des tests de vitesse... De plus, y'a aussi
des optimisations à obtenir en fonction des instructions que tu
utilises... En effet, en VB y'a souvent plusieurs instructions pour
faire la même chose... En général, il vaut mieux éviter les
instructions/fonctions ou méthodes qui peuvent faire tout plein de
choses super facilement... Car elle sont le plus souvent bien plus
lourde (en temps de calcul) que celles qui sont plus spécifiques. Et
ceci à cause, justement, de leur flexibilité... Cette règle est
d'ailleurs aussi vrai pour le VB par rapport à d'autres langages de
prog!!! Le VB est lent parce qu'il est souple. Le C, le JAVA ou le
Delphi par exemple, sont bien plus performants mais également
extrêmement rigides... cqfd



Ceci dit, j'ai une petite question... Pourquoi as-tu besoin de faire de grands calculs ???



Enjoy
0
Rejoignez-nous