VB6 - overflow

Résolu
zippro4012 Messages postés 216 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 26 février 2006 - 11 févr. 2005 à 18:25
cqui789 Messages postés 261 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 18 mai 2009 - 11 févr. 2005 à 23:58
Dim Var1 as Long


Var1 = 255 * 255 * 255





-> ce code fait l'erreur de dépassement de capacité (Overflow) alors
que le type long est largement capable de stocker le résultat. En fait
les calculs internes ont l'air d'être limités a Integer.





Mais alors, comment faire






5 réponses

pelw Messages postés 148 Date d'inscription dimanche 12 janvier 2003 Statut Membre Dernière intervention 14 février 2005 6
11 févr. 2005 à 18:43
Essaye ceci :

Dim Var1 As Long
Var1 = CLng(255) * CLng(255) * CLng(255)

@+

pelw
3
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
11 févr. 2005 à 18:44
Salut
Problème connu

--> Var1 = 255! * 255! * 255!

Vala
Jack
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)
3
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
11 févr. 2005 à 19:04
Bonne question, je crois que c'est un bug de vb que j'ai résolu de la manière suivante :

Dim Var1 As Long
Var1 = 1
Var1 = Var1 * 255 * 255 * 255

Cordialement, CanisLupus
3
zippro4012 Messages postés 216 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 26 février 2006 1
11 févr. 2005 à 19:20
J'ai essayé toutes les méthodes : toutes marchent ! Merci beaucoup pour vos réponses !


0

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

Posez votre question
cqui789 Messages postés 261 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 18 mai 2009 3
11 févr. 2005 à 23:58
il suffit d'un long pour que vb calcule en long.

Var1 = 255! * 255 * 255

marche aussi
0
Rejoignez-nous