IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Convertir un Int en Hexad�cimal


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    54
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 54
    Par d�faut Convertir un Int en Hexad�cimal
    Bonjour,
    voila je dois simplement convertir des IDs que je r�cup�re sous forme d'entier, en format Hexad�cimal et pouvoir notamment les afficher a l'�cran. Comment faire ?

    Merci d'avance !

  2. #2
    Membre �m�rite
    Avatar de neilbgr
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Ao�t 2004
    Messages
    651
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur .NET
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 651
    Par d�faut
    IntToHex() devrait r�pondre � ta question.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    54
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 54
    Par d�faut
    Merci v tester.
    Roo j'ai quand meme pas chercher loin mdr

  4. #4
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut
    IntToHex convertit un entier en hexad�cimal sur un certain nombre de chiffres hexad�cimaux. Par exemple, AnsiString A=IntToHex(300,4) donnera '012C', �a ne r�pond donc pas � la question.

    Il faut passer par IntToBin par exemple

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    AnsiString A=IntToBin(n);
    qui renvoie une cha�ne binaire sur 32 bits dans un AnsiString.

    � bient�t
    Gilles

  5. #5
    Membre �m�rite
    Avatar de neilbgr
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Ao�t 2004
    Messages
    651
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur .NET
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 651
    Par d�faut Re: Convertir un Int en Hexad�cimal
    Citation Envoy� par Benjy
    Bonjour,
    voila je dois simplement convertir des IDs que je r�cup�re sous forme d'entier, en format Hexad�cimal et pouvoir notamment les afficher a l'�cran. Comment faire ?

    Merci d'avance !
    Citation Envoy� par Gilles Lou�se
    IntToHex convertit un entier en hexad�cimal sur un certain nombre de chiffres hexad�cimaux. Par exemple, AnsiString A=IntToHex(300,4) donnera '012C', �a ne r�pond donc pas � la question.
    IntToHex() est pourtant la bonne r�ponse � la question ? :

  6. #6
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    54
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 54
    Par d�faut
    Je viens d'essayer: BCB me met simplement que cette fonction n'existe pas (IntToBin)

  7. #7
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut
    Elle existe la fonction IntToBin, je l'ai trouv� dans l'aide par contre, il doit falloir inclure un package et je ne sais pas lequel car ce n'est pas pr�cis� clairement dans l'aide.

  8. #8
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    54
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 54
    Par d�faut
    Surement effectivement puisque moi avec ma pov version personnelle elle n'est meme pas dans l'aide cette fonction !

    En tout cas c pas grave, comme je connais la taille de mes ID: 11 ou 29 bits, j'ai utilis� la fonction IntToHex que neilbgr me conseille depuis le debut en mettant en deuxieme parametre 29 puisque c la plus grande longueur d'ID que je peux avoir.

    Est-ce que mon raisonnement est bon selon vous ?

  9. #9
    Membre �m�rite
    Avatar de neilbgr
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Ao�t 2004
    Messages
    651
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur .NET
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 651
    Par d�faut
    29 bits = 2^29 possibilit�s

    Avec le 0 ca nous fait une plage de 0 � (2^29 - 1) soit :
    2^29 - 1 = 536 870 912 - 1

    536870911 en hexa ca donne : 1F FFF FFF

    donc 8 digits devraient suffir me semble-t-il

  10. #10
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    54
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 54
    Par d�faut
    C'est exact merci !

  11. #11
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut Re: Convertir un Int en Hexad�cimal
    Citation Envoy� par neilbgr
    IntToHex() est pourtant la bonne r�ponse � la question ?
    Oui, o� avais-je la t�te? Je croyais que l'internaute voulait du binaire (sans doute parce que cette question avait d�j� �t� pos�e).

    Oui, IntToHex vous donnera bien de l'hexad�cimal sur un nombre de digits hexa demand� � l'avance.

    � bient�t
    Gilles

  12. #12
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    54
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 54
    Par d�faut
    Ok. Maintenant ca marche bien avec mes 8 digits d'hexadecimal.
    Par contre c plutot moche lorsque je tombe sur des ID de 11 bits seulement qui n'ont donc besoin que de 3 digits en hexa. Hors ca ne donne que des zeros a gauche plutot encombrant.

    Quelqu'un aurait il une id�e pour enlever rapidement ces zeros a gauche ?
    Merci d'avance !

  13. #13
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut
    J'ai l'impression qu'il faut le faire "� la main", par exemple :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    i=1;
    while(A[i]=='0') i++;
    A=A.SubString(i,A.Length()-i+1);
    � bient�t
    Gilles

  14. #14
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    On peut toujours le faire en standard

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <sstream>
     
    AnsiString IntToHex2(int x)
    {
        std::ostringstream oss;
        oss << std::hex << x;
     
        return oss.str().c_str();
    }

  15. #15
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut
    C'est excellent, bravo Loulou24.

    Quand on ne conna�t pas les fonctions, on a sa "t�te" mais puisque c'est d�j� fait, autant utiliser l'existant.

    � bient�t
    Gilles

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 7
    Dernier message: 13/04/2007, 13h38
  2. Convertir un int en char
    Par heruwenli dans le forum C++
    R�ponses: 3
    Dernier message: 06/02/2007, 13h41
  3. R�ponses: 2
    Dernier message: 04/09/2006, 08h36
  4. Comparer 2 Char / Convertir Char -> Int
    Par mbk-w dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 09/06/2006, 11h09
  5. Convertir un (int) en (uint)
    Par Remi163 dans le forum MFC
    R�ponses: 4
    Dernier message: 28/04/2006, 18h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo