Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2645 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB] Question sur la facon de VB de procéder avec les nombres

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB] Question sur la facon de VB de procéder avec les nombres

n°452403
Yoyo@
Posté le 09-07-2003 à 17:14:32  profilanswer
 

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 :
 

Code :
  1. MsgBox Clng(&HFFFF)


 
donne -1 comme résultat
 

Code :
  1. MsgBox Clng("&HFFFF" )


 
donne 65536 comme résultat
 

Code :
  1. MsgBox Clng("&HFFFFFFFF" )


 
donne -1 comme résultat
 

Code :
  1. MsgBox Clng(&H0000FFFF)


 
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*

mood
Publicité
Posté le 09-07-2003 à 17:14:32  profilanswer
 

n°453267
Yoyo@
Posté le 10-07-2003 à 09:25:22  profilanswer
 

:hello:

n°453334
cvb
Posté le 10-07-2003 à 10:40:05  profilanswer
 

En génaral quand une fonction renvoie -1 ou 0 c'est qu'elle n'existe pas...

n°453367
Yoyo@
Posté le 10-07-2003 à 10:54:10  profilanswer
 

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...

n°453543
drasche
Posté le 10-07-2003 à 13:20:31  profilanswer
 

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.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°453551
Yoyo@
Posté le 10-07-2003 à 13:33:04  profilanswer
 

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?
 

n°453571
drasche
Posté le 10-07-2003 à 13:47:49  profilanswer
 

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.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°453579
Yoyo@
Posté le 10-07-2003 à 13:51:42  profilanswer
 

Ca me parait logique comme spéculation, donc réponse acceptée !
 
Je réétudiera ca ce soir, en revenant,  
 
Merci beaucoup !
 
Yoyo*
 
:hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB] Question sur la facon de VB de procéder avec les nombres

 

Sujets relatifs
Programmation en Java: question de la part d'un débutant...Question vba et vb
question sur les cookiesptit question facile VBA
Surnaturel => conversion de nombres Access/VBA, incompréhensible !!!Question aux developpeurs : limites de programmation
Question sur les expressions régulières en PHP[VBA et Access] Question sur un morceau de code !
question bete sur les liens et les images2 question sur les forms
Plus de sujets relatifs à : [VB] Question sur la facon de VB de procéder avec les nombres


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR