Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CALCULETTE POUR LES TRÈS, TRÈS, VRAIMENT TRÈS GRANDS NOMBRES


Information sur la source

Catégorie :Maths Classé sous : calculette, grands, entiers, calcul, big numbers Niveau : Débutant Date de création : 19/04/2004 Date de mise à jour : 06/06/2008 17:28:31 Vu / téléchargé: 3 594 / 364

Note :
9 / 10 - par 3 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Pour ne pas subir la limite de taille des "integer ou long" j'utilise les "string"
J'ai essayé de reproduire le calcul "manuel"
Seuls les entiers positifs sont traités.
 

Conclusion

La division m'a donné pas mal de fil à tordre et fait un peu bricolo,
mais apparemment elle fonctionne, alors soyez indulgent !
La fonction Racine carrée pas super rapide :-) utilise la methode manuelle décrite ici:
http://pagesperso-orange.fr/therese.eveilleau/pages/truc_mat/textes/r_carree_anc.htm

Temps de calcul:
les 2000 premiers chiffres de racine carrée de 3 en moins de 2 minutes
mais hélas une heure pour 10000
Heureusement la vitesse n'est pas ma priorité dans cette application.

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

04 janvier 2008 00:50:20 :
Divers corrections pour un code plus rapide ajout calcul Puissance avec algo de rambc (http://www.vbfrance.com/codes/ALGORITGHME-EFFICACE-CALCUL-PUISSANCE_31388.aspx)
04 janvier 2008 11:30:13 :
Divers corrections pour un code plus rapide ajout calcul Puissance avec algo de rambc (http://www.vbfrance.com/codes/ALGORITGHME-EFFICACE-CALCUL-PUISSANCE_31388.aspx)
04 janvier 2008 11:35:10 :
Nettoyage de la source.
04 janvier 2008 20:31:59 :
TextBox resultat (limitée 65536 chiffres) remplacée par une RitchBox CalculetteXXL.exe.manifest mis dans un fichier resource
06 juin 2008 17:17:05 :
corrections de bugs et ajouts de Modulo et de Racine carrée par la méthode décrite ici: http://pagesperso-orange.fr/therese.eveilleau/pages/truc_mat/textes/r_carree_anc.htm
06 juin 2008 17:28:31 :
Corrections de bugs et ajouts de Modulo et de Racine carrée par la méthode décrite ici: http://pagesperso-orange.fr/therese.eveilleau/pages/truc_mat/textes/r_carree_anc.htm

Commentaires et avis

signaler à un administrateur
Commentaire de Warny le 20/04/2004 09:28:48

impressionnant,
une petite critique : tu devrais mutualiser ta procédure pour éliminer les zéros non significatifs du résultat.
Un super bon point : si tu rajoute le calcul modulo, tu pourras implémenter RSA.
Ceci dit, je vais faire un peu de recup dans ton code.

signaler à un administrateur
Commentaire de OverDarck le 20/04/2004 11:29:51

un mot :ENORME c'est vraiment genial et pile ce que je cherchais !!!
Win Xp fait la meme chose avec sa power toy calculator mais s'arrete a 512 chifre et puis avori a sa portée un algo de calcul manuel des 4 principales operations, ca c'est vraiment cool !!!!!
Je cherchais a faire un truc dans le genre mais sa aurai etait tres tres lent si j'avais reussit...
Frenchement BRAVO, GRANDIOSE
10/10
@++ merci, et bonne prog
(j'essairai d'adapter ton prog, pour fair qq chose de plus abouti)

signaler à un administrateur
Commentaire de bouv le 20/04/2004 20:40:44

Chapeau bas l'ami,
ton truc est terrible je te met 10/10.
Je me suis permis de créer une dll a partir de ton code, afin de le réutiliser dans n'importe quel prog sans tout rettaper. Mais tout le merite te revient.
Je ne sais pas pourquoi, mais je n'arrive pas à publier la source.
Si tu veux que je te l'envoi afin que tu le fasses (cela serait plus logique). Donne moi ton email.
++

signaler à un administrateur
Commentaire de bouv le 20/04/2004 21:40:49

Resalut,

G trouvé une faille

Si tu fait :
4 - 1,333 tu obtient -103 329 au lieu de 2,667
De même
-4 + 1  = 5 au lieu de -3

Il y a en fait un pb au niveau des signes et virgules dans les nbres sources

Mais cela reste un super truc.
Encore bravo

signaler à un administrateur
Commentaire de akim77 le 21/04/2004 20:21:31

Merci pour cette bonne note ça m'arrive pas trop souvent !
En fait je ne gère que les entiers positifs.
Si tu as supprimé la Sub suivante , le résultat  est forcémment
érroné.
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim X
    X = Asc(Chr(KeyAscii))
    If (X < 48 Or X > 57) Then KeyAscii = 0     'que des chiffres
    If X = 8 Then KeyAscii = 8                  'sauf le rub out
End Sub

Vous pouvez recupérer , modifier , adapter , améliorer et publier
c'est du pur open source !

signaler à un administrateur
Commentaire de dnob700 le 22/04/2004 17:29:47

Ton code est pas mal, mais un peu lent pour les grand nombre.

Je te conseille de remplacer les chaine de caractère par des tableau d'octet, tu verras, c'est bcp plus rapide (il faut juste des routines de conversion pour les afficher) et le code est plus simple (les retenu par exemple pour la multiplication sont plus facile etc.)

signaler à un administrateur
Commentaire de vegetalain le 03/01/2008 17:02:42

Et comment faire pour les puissances?... je n'arrive pas à obtenir un résultat "normal", c'est à chaque fois ce type de résultat... par exemple pour 20^55 on a 3,6028797018963968e+71... des sources que j'ai trouvé ici celle-ci se rapproche le plus de ce que j'aimerais obtenir omme résultat...

signaler à un administrateur
Commentaire de akim77 le 03/01/2008 20:20:45

J'avais fait une fonction Puissance ( une simple boucle de la fonction Multiplication ), mais les temps de calcul étaient "inhumains" ( 2^10000 en plus d'une minute )


Public Function Puissance(X As String, Y As String, cde As Boolean, nb_chiffres As Long) As String
Puissance = ""
nb_chiffres = 0
If X <> "" And Y <> "" Then
    If verify_entiers_positifs(X, Y) Then
        If X = "0" Then
            Puissance = "0"
        Else
            If X = "1" Or Y = "0" Then
                Puissance = "1"
            Else
                If Val(Y) > 0 And Val(Y) < 10001 Then '10001 temps de calcul inhumain ???(a determiner)
                    Puissance = X
                        Dim j
                        For j = 1 To Val(Y) - 1
                            Puissance = Multiplication(Puissance, X, 0, 0)
                        Next j
                        nb_chiffres = Len(Puissance)
                Else
                    Puissance = "Y est trop grand, temps de calcul inhumain, trouver une autre methode"
                End If
            End If
        End If
    Else
        Puissance = "Des nombres entiers positifs uniquement"
    End If
End If
End Function

Pour info: Val(Y) donne un Double
et
20^55=360287970189639680000000000000000000000000000000000000000000000000000000
temps calcul < 1 sec (ouf!)

Vois le prog de DNOB700
http://www.vbfrance.com/codes/JUSTE-AUTRE-LIBRAIRIE-CALCUL-PRECISION-INFINIE_22182.aspx
plus "pro" que le mien.

signaler à un administrateur
Commentaire de vegetalain le 03/01/2008 20:58:33

ok, merci je vais tester ça... pour le temps d'exécution c pas grav', du moment que le résultat est là :)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Multiplier de grands nombres entiers [ par titatou ] Bonjour, je cherche la solution à mon problème. Voilà : j'ai une multiplication de deux chiffres énormes et même les variables en Decimal font un over calcul sur les très grands nombes à l'aide de grandes matrices [ par bpdev ] Bonjour, Spv j'ai un Pb et fais appel à votre aide. J'écris depuis qlques tps un algo qui décompose un très grd nombre en un produit de deux facteur calcul de grands nombres [ par bonnsgeo ] salut !existe t il un ocx ou dll ou autre chose pour pouvoir faire des calculs sur de grands entiers (très grands) ?MerciPS: g trouve des bouts de cod Calcul d'un champ d'une bd acces sous vb 6 [ par ludochristi ] Soit une appli vb6 qui pilote une base access, j'ai un champ montant total qui apparît dans un msflexgrid et en dessous dans mon formulaire, je voudra Calcul et insertion dans excel [ par annedel ] J'essaie de faire des budgets pour des utilisateurs... J'ai une feuille excel avec le nom de l'utilisateur, tout ce qu'il possède... Je voudrais tout Help:Calcul par approximation....!!! [ par binette1er ] Bonjour, comment puis je faire une boucle de calcul d'une équation par approximation successive:si un essai=x entre 2 bornes y+ et y- ....1er essai; p Calcul durée d'un fichier .ogg [ par processus ] Bonjour à tous,J'aurai besoin des lumières d'un développeur qui a déjà travaillé avec les fichiers ogg vorbis afin qu'il m'explique comment calculer l précision de calcul.... [ par binette1er ] Bonjour, J'ai programmé une boucle pour faire une recherche dichotomique du genre:limg 'limite à gauchelimd 'limite à droitedo x=(limg+limd)/2 Base de Donnée en VB [ par casperfr ] Bonjour,Je suis un peut nouveau en Visual Basic et j'aurais besoin d'un renseignement.Je fais des calcul sur un base de donnée Plutot lourde pour une Insertion dans Excel [ par Ziman ] Bonjour tt le monde, en fait j'ai un petit problème, j'ai fait un prog qui ajoute le résultat d'un calcul dans une bdd excel, g tapé ceci :a=1b=3c=a+b


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,764 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.