begin process at 2008 07 06 02:45:32
1 205 441 membres
21 nouveaux aujourd'hui
14 119 membres club

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é: 2 806 / 320

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

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.
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

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
  • 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

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS