VB6 - overflow [Résolu]

zippro4012 218 Messages postés mardi 15 juin 2004Date d'inscription 26 février 2006 Dernière intervention - 11 févr. 2005 à 18:25 - Dernière réponse : cqui789 261 Messages postés jeudi 13 janvier 2005Date d'inscription 18 mai 2009 Dernière intervention
- 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






Afficher la suite 

5 réponses

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

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

@+

pelw
Cette réponse vous a-t-elle aidé ?  
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 11 févr. 2005 à 18:44
+3
Utile
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)
Cette réponse vous a-t-elle aidé ?  
cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 11 févr. 2005 à 19:04
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
zippro4012 218 Messages postés mardi 15 juin 2004Date d'inscription 26 février 2006 Dernière intervention - 11 févr. 2005 à 19:20
0
Utile
J'ai essayé toutes les méthodes : toutes marchent ! Merci beaucoup pour vos réponses !


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

Var1 = 255! * 255 * 255

marche aussi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.