Grande multiplication d'entier (+de20chiffres)

cs_titatou Messages postés 25 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 16 avril 2005 - 3 sept. 2003 à 21:09
cs_titatou Messages postés 25 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 16 avril 2005 - 4 sept. 2003 à 15:02
bonjour,
en fait, je voudrais pouvoir obtenir une variable en nombre entier (avec plus de 20 chiffres) que je tronque pour obtenir 7 chiffres.
Voila la multiplication :
produit0 = CDec(jour$) * CDec(mois$)
produit1 = CDec(produit0) * CDec(année$)
produit2 = CDec(produit1) * CDec(heure)
produit = CDbl(produit2) * CDbl(addition2)

j'obtiens une erreur overflow
Titatou2000

5 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 sept. 2003 à 21:15
Il n'y aura aucun type de variable pour faire ces calculs.
Fais les sous forme de chaines decimales litterales (string).
BruNews, ciao...
0
cs_titatou Messages postés 25 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 16 avril 2005 2
3 sept. 2003 à 21:52
Je te remercie beaucoup de la rapidité de cette réponse.
Ne peux tu pas m'expliquer de quoi s'agit-il exactement, "chaines decimales litterales (string)". De plus n'existe-t-il pas de fonction que je peux créer et qui me permettrait de multiplier ces grands nombres facilement?
Merci d'avance !

Titatou2000
ps:je suis débutant...
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 sept. 2003 à 22:18
au lieu de produit0 = CDec(jour$) * CDec(mois$)
strProd0 = strMul(jour$, mois$)
il te faut donc ecrire func:
public function strMul(s1 As String, s2 As String) As String
doit retourner une string representant s1*s2.
etc, etc... et plus de risque d'overflow.
BruNews, ciao...
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
4 sept. 2003 à 09:16
Il y a une source sur le site qui fait cela ...
Je n'ai plus le lien mais recherche dans la section Math des sources, et tu trouveras cela ...

Christophe R.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_titatou Messages postés 25 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 16 avril 2005 2
4 sept. 2003 à 15:02
Merci à tous pour votre précieuse aide !! Ca marche ! !
Bon, j'addmet que je n'ai pas très bien compris mais bon...ça viendra ! Quant à la souce sur le forum...il y en a tellement! J'ai cherché mais je ne suis pas tombé dessus, donc merci quand même crenaud76. Et puis bien sûr merci encore BruNews!

Titatou2000
0
Rejoignez-nous