Question sur la facon de VB de procéder avec les nombres [VB] - VB/VBA/VBS - Programmation
Marsh Posté le 10-07-2003 à 10:40:05
En génaral quand une fonction renvoie -1 ou 0 c'est qu'elle n'existe pas...
Marsh Posté le 10-07-2003 à 10:54:10
cvb a écrit : En génaral quand une fonction renvoie -1 ou 0 c'est qu'elle n'existe pas... |
Bah si ellen'existait pas, elle renverrait rien...
Je "comprends" d'où vient le -1, c'est la représentation décimale par exemple de l'hexadécimal FFFF en signé...
Mais ce que je ne comprends pas, c'est comment VB procède, qu'est ce qu'il considère de maniere interne comme long ou comme autre chose...
Marsh Posté le 10-07-2003 à 13:20:31
Il prendra comme long toute valeur entière supérieure à 32767 (qui est la limite de l'integer signé). Quant au byte, il ne peut pas valoir 65535 puisque ses limites sont de 0 à 255.
Marsh Posté le 10-07-2003 à 13:33:04
drasche a écrit : Il prendra comme long toute valeur entière supérieure à 32767 (qui est la limite de l'integer signé). Quant au byte, il ne peut pas valoir 65535 puisque ses limites sont de 0 à 255. |
Mais alors comment expliques tu les résultats des MsgBox que je donne plus haut?
Marsh Posté le 10-07-2003 à 13:47:49
je dirais que l'expression &FFFF est prise comme integer, donc -1, et "&FFFF" est une string, donc contient a priori n'importe quoi y compris une grande valeur. Donc convertie temporairement en double puis en long. Mais ceci n'est que spéculation.
Marsh Posté le 10-07-2003 à 13:51:42
Ca me parait logique comme spéculation, donc réponse acceptée !
Je réétudiera ca ce soir, en revenant,
Merci beaucoup !
Yoyo*
Marsh Posté le 09-07-2003 à 17:14:32
Bonjour,
J'aimerais comprendre comment marche VBA de manière interne pour la gestion de ses nombres...
En particulier, queelqu'un pourrait il m'expliquer pour quoi :
donne -1 comme résultat
donne 65536 comme résultat
donne -1 comme résultat
donne -1 comme résultat
Ce que je sais, c'est que FFFF vaut 65536 en tant que Long, et -1 en tant que Byte (le tout signés)
Merci,
Yoyo*