VB6 - overflow

[Résolu]
Signaler
Messages postés
216
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
26 février 2006
-
Messages postés
261
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
18 mai 2009
-
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

Messages postés
148
Date d'inscription
dimanche 12 janvier 2003
Statut
Membre
Dernière intervention
14 février 2005
6
Essaye ceci :

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

@+

pelw
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Messages postés
216
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
26 février 2006
1
J'ai essayé toutes les méthodes : toutes marchent ! Merci beaucoup pour vos réponses !


Messages postés
261
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
18 mai 2009
3
il suffit d'un long pour que vb calcule en long.

Var1 = 255! * 255 * 255

marche aussi