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 :

conversions dec bin exa oct


Sujet :

C++Builder

  1. #1
    Membre habitué Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Points : 181
    Points
    181
    Par défaut conversions dec bin exa oct
    salut tout le monde je développe un petit programme et encore une fois j'ai besoins de vous amis développeurs

    j'ai besois de convertir une valeur donnée par l'utilisateur qui choisit si elle est décimale, binaire, exadécimale ou octale dans toutes des autres possibilités le probleme c'est que je ne sais pas comment faire et que la possibilité de la FAQ ne m'es pas tres utile
    http://c.developpez.com/faq/bcb/?pag...ineapartirhexa

    j'utilise BCB 2006

    y a t-il simplement une formule comme .ToInt ou IntToExa

    merci de répondre ++

  2. #2
    Membre habitué Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Points : 181
    Points
    181
    Par défaut
    j'avais écrit faux hexadécimal ce qui m'enbêtait dans mes recherches et oui il y a une formule IntToHex() mais je ne sais pas ce que je dois mettre dans les () car j'ai une erreur
    si je met une variable -> impossible de trouver une correspondance pour int
    si je met un edit-> impossible de trouver une correspondance pour AnsiString

  3. #3
    Membre averti
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Points : 360
    Points
    360
    Par défaut
    Citation Envoyé par Mangacker
    je ne sais pas ce que je dois mettre dans les ()
    Ben un int comme l'indique le nom de la méthode IntToHex(). C'est précisé dans l'aide de IntToHex().

  4. #4
    Membre habitué Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Points : 181
    Points
    181
    Par défaut
    est-ce qu'une variable ne peut pas faire l'affaire?

  5. #5
    Membre habitué Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Points : 181
    Points
    181
    Par défaut
    ou alors c'est la manière dont j'ai codé?



  6. #6
    Membre habitué Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Points : 181
    Points
    181
    Par défaut
    voici l'erreur au complet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [C++ Erreur] Unit1.cpp(24): E2285 Impossible de trouver une correspondance pour 'IntToHex(int)'

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    IntToHex a besoin d'un deuxième paramètre permettant de fixer le nombre de digits, par exemple 2 pour se limiter à ne représenter que la valeur prise par un octet (de 00 à FF).

    On Suppose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int valeur = 255;
    AnsiString N = IntToHex(valeur, 2); //N contient "FF"
    Pour la représentation binaire, si rien n'est prévu dans les bibiothèques (style IntToBin), un petit algo assez simple permet de le faire par soi-même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int valeur = Edit1->Text.ToInt();
    AnsiString N = "";
    for(int j = 0; j < 32; j++)
        {
        if((valeur & 1) == 0) N = "0" + N;
        else N = "1" + N;
        valeur = valeur/2; //bit suivant
        }
    Label1->Caption = N;
    Attention quand même à ce que l'on pourrait entrer dans le TEdit car les conversions peuvent générer des exceptions !
    Par exemple, ToInt ne convertit une expression hexadécimale en int que si cette expression est doté du préfixe 0x.

    A plus !

  8. #8
    Membre habitué Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Points : 181
    Points
    181
    Par défaut
    j'essaya avec ça et je redis tout de suite

    ++

  9. #9
    Membre habitué Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Points : 181
    Points
    181
    Par défaut
    trop cool ça fonctionne

    merci

    ++

    ps j'ai fais comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ed_hex->Text = IntToHex(ed_dec->Text.ToInt() , 2);

  10. #10
    Membre habitué Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Points : 181
    Points
    181
    Par défaut
    encore une dernière question j'ai utilisé la fonction
    mais la encore j'ai des problèmes pour remplir !!!

    j'ai essayé en mettant la meme chose que pour
    mais ça fonctionne pas

  11. #11
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    Dans ma version BCB je n'ai pas HexToBin (ou alors elle est planquée quelque part).

    Qu'en disent-ils dans l'aide ?

    A plus !

  12. #12
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    SAlut !

    Pour l'octal on peut faire ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    UINT valeur = Edit1->Text.ToInt();
    AnsiString N = "";
    char c;
    for(int j = 0; j < 11; j++)
        {
        c = (char)((valeur & 7) + '0');
        N = (AnsiString)c + N;
        valeur = valeur / 8; //digit suivant
        }
    Label1->Caption = N;
    A noter que dans le code précédent (algo pour la conversion binaire), il faut également utiliser un unsigned int (que l'on peut aussi noter comme UINT) pour la variable valeur.

    A plus !

  13. #13
    Membre habitué Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Points : 181
    Points
    181
    Par défaut
    merci je te redis tout ça quand j'aurai le temps la je vais partir

    ++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. conversion char vers bin puis vers dec
    Par ahmednaess dans le forum C
    Réponses: 8
    Dernier message: 17/05/2013, 11h38
  2. format conversion hexa-->dec negative
    Par sone47 dans le forum Langage
    Réponses: 1
    Dernier message: 14/01/2008, 22h12
  3. Conversion mat-file en .bin
    Par StitchP dans le forum MATLAB
    Réponses: 2
    Dernier message: 07/04/2007, 16h39
  4. conversion bin hexadécimal
    Par zidenne dans le forum Delphi
    Réponses: 2
    Dernier message: 10/06/2006, 00h14
  5. fonction. lib conversion hex, dec, oct ...
    Par ilimo dans le forum C++
    Réponses: 7
    Dernier message: 14/04/2006, 20h23

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