begin process at 2010 02 09 22:35:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Multiplier 2 valeurs hexa qui donne un résultat à plus de 8 caractéres


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Multiplier 2 valeurs hexa qui donne un résultat à plus de 8 caractéres

dimanche 26 mars 2006 à 14:58:19 | Multiplier 2 valeurs hexa qui donne un résultat à plus de 8 caractéres

el_lokitto

bonjour encore une fois!
je suis entrain de cartonner au niveau question sur le forum là!
bref, en faite j'aimerais effectuer un calcul: multiplier deux valeurs hexa
multiplier 51EB851F par 32C2CE
et avoir un résultat.
si j'utilise la calculette windows je trouve = 103E5666749CF2
ici 14 caractéres, et quand j'esseye de le faire avec VB  il me sort Dépassement de capacité!
merci de bien vouloir y réflichir!
aurevoir!

¡ lokitto !

dimanche 26 mars 2006 à 17:49:01 | Re : Multiplier 2 valeurs hexa qui donne un résultat à plus de 8 caractéres

jack

Administrateur CodeS-SourceS
Salut
Et tu ne nous dis pas comment tu as fait, sinon, on aurait pu te dire ce qui n'allait pas ...
Mais comme je suis champion du monde de boule cristal 2005, je consulte ... (30 sec)
Bon, alors, comme tu n'as pas pu multiplier directement tes nombres sous forme Hexa, tu les donc convertis en décimal.
Ton 1er nombre = 1.374.389.535 décimal --> Dans un Long, pas de problème
Le 2eme nombre = 3.326.670 décimal : Idem
Par contre, le résultat donne 4.572.140.434.398.450
Or, les variables de type Long ne peuvent aller que jusqu'à 2.147.483.647
D'où l'erreur de dépassement de capacité.
Change donc les types de tes variables --> Decimal
Mais ce type n'est pas géré directement par VB car c'est une suite d'entiers.
Comme expliqué dans l'aide , il faut dimensionner tes variables en type Variant puis utiliser les fonctions de conversion :
Dim r As Variant
Dim Var1 As Variant
Dim Var2 As Variant
Var1 = CDec(1374389535)
Var2 = CDec(3326670)
r = CDec(Var1 * Var2)


Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
dimanche 26 mars 2006 à 18:19:31 | Re : Multiplier 2 valeurs hexa qui donne un résultat à plus de 8 caractéres

jack

Administrateur CodeS-SourceS
lol, je rigole moins :
Ton histoire de conversion d'hexa ... coton, je n'avais pas été assez loin.
Je bosse dessus ... je reviens
dimanche 26 mars 2006 à 19:04:17 | Re : Multiplier 2 valeurs hexa qui donne un résultat à plus de 8 caractéres

jack

Administrateur CodeS-SourceS
Réponse acceptée !
Re
En cherchant un peu, j'ai trouvé cette simple fonction qui semble fonctionner :
Public Function BigDecToHex(ByVal DecNum) As String
    ' This function is 100% accurate untill
    '     15,000,000,000,000,000 (1.5E+16)
    Dim NextHexDigit As Double
    Dim HexNum As String
    HexNum = ""
    While DecNum <> 0
        NextHexDigit = DecNum - (Int(DecNum / 16) * 16)
        If NextHexDigit < 10 Then
            HexNum = Chr(Asc(NextHexDigit)) & HexNum
        Else
            HexNum = Chr(Asc("A") + NextHexDigit - 10) & HexNum
        End If
        DecNum = Int(DecNum / 16)
    Wend
    If HexNum = "" Then HexNum = "0"
    BigDecToHex = HexNum
End Function


Ouf, j'ai failli perdre la face

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
lundi 27 mars 2006 à 16:32:41 | Re : Multiplier 2 valeurs hexa qui donne un résultat à plus de 8 caractéres

rvblog

Membre Club
Salut i lokitto, et salut à tous,

m'en veux pas i lokitto!
Et bien vu Jack,
Pourquoi je suis là? Je voulais juste préciser à i lokitto que s'il veut, il existe un code hallucinant (pas qu'un, mais j'aime bien celui là, sinon, cherches "grand nombres") d'opérations sur les grands nombres, réalisé par DHKold, ici :
http://www.vbfrance.com/codes/ENSEMBLE-FONCTION-MATHEMATIQUE-POUR-TRES-GRAND-NOMBRES_7338.aspx

Et aussi préciser aux utilisateurs d'NT 4.0 ou plutôt de calc.exe(v.4.0), qu'elle n'est pas en mesure d'effectuer ce "petit calcul", enfin spécifié par lokitto, il faut attendre la version 5.0 (W2k).

à+,

rvblogn
Je veux ton bien... et je l'aurais



Cette discussion est classée dans : résultat, valeurs, hexa, multiplier, caractéres


Répondre à ce message

Sujets en rapport avec ce message

Fonctions et valeurs de résultat [ par Jim ] Je débute en VB6 et mes questions seront peut-être "bebetes".J'ai ecrit une fonction ( dans un module .bas ) et je voudrais récupérer dans le module p Faire un masque avec des valeurs Hexa [ par kinouseba ] Bonjour à tous,je voudrais faire l'opération suivante en VB, mais je n'y arrive pas !!C'est un masque et j'utilise des valeurs Hexa.0x1234 and 0xFFF0 ListµBox, Valeurs provenant du résultat d'un filtre [ par kouki69 ] Salut,Je souhaite que ma listebox cherche les données dans une feuille excel ds laquelle un filtre a été réalisé. LE code que j'ai trouvé ne me permet additionner et multiplier des chiffres pairs et impair [ par vinvin450 ] bonjour à tout le monde,je voudrais savoir comment fait on pour additionner et multiplier les chiffres que j'envoie dans une listbox.ma form1 contient tableau et valeurs en hexa [ par simgoku ] Bonjour a tous, Je me suis mis récemment au VB6... Je programme actuellement une interface reliant mon pc a un automate, cependant je rencontre un pro comment additionner des valeurs HEXA SVP ? [ par zeeti ] Salut !Comment en vb additionne t'on des valeurs en héxadécimale qui sont contenue dans des variables ?Car par exemple si je fais:val1 = &HF0val2 = &H comment convertir des valeurs en HEXA en DECIMAL SVP ? [ par zeeti ] Comment puis-je convertir des valeurs en HEXA, en DECIMAL (BASE 16 > BASE 10)Car le contraire est facile avec la fonctin Hex mais pas la réciproque... Recordset a valeurs multiples [ par Octet ] Si j'ai une requête qui retourne plusieurs valeurs, comment, immédiatement après, je peux faire afficher un msgbox afin qu'il m'affiche tout le conten Récupérer le résultat d'une commande DOS [ par JFF ] Comment récuperer le résultat d'une commande DOS. Avec la commande Shell, je ne récupère rien (ex: shell("dir c:>liste.txt")).Merci d'avance.JFF. Récupération du résultat d'une requète SQL pour la stocker dans une variable [ par valerie ] Bonjour,Je n'arrive pas à stocker le résultat du champ issue d'une requète SQL dans une variable afin de la tester. Je vous communique mon code, si vo


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales