OVH Cloud OVH Cloud

conversion unsigned double -> long

1 réponse
Avatar
Axel
en fait je ne comprends pas la conversion (voir post sur le dièse)
voici 2 valeurs numériques a convertir

1732584193 (considéré comme long par VB) et 4023233417 (considéré comme
double)


Voici le code utilisé pour la conversion, mais je ne le comprends pas

Public function unsignedToLong(value As Double) As Long
If value < 0 Or dbl_value > 4294967295# Then Error 6 '
If value <= 2147483647 Then ' 2^31 - 1
UnsignedToLong = value
Else
UnsignedToLong = value - 4294967296#
End If
End Function


quelqu un pourrait il me l expliquer ?
Merci bcp

1 réponse

Avatar
Axel
> Public function unsignedToLong(value As Double) As Long
If value < 0 Or dbl_value > 4294967295# Then Error 6 '



si la valeur est negative ou si elle est supérieur a 2 ^32 -1 , erreur,
logique, si la variable ne rentre pas dans 32 bits, elle ne rentrera pas
dans un long

If value <= 2147483647 Then ' 2^31 - 1


si la valeur est inférieur à la valeur maxi d un long d apres msdn, alors
pas de "cast"

UnsignedToLong = value
Else
UnsignedToLong = value - 4294967296#



mais ca, je ne comprends pas.....