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 Discussion :

Conversion chaine en hexa, return int.


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    étudiant @ Epitech
    Inscrit en
    Novembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant @ Epitech
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 16
    Par défaut Conversion chaine en hexa, return int.
    Bonjour,

    je dois réaliser une fonction me permettant de convertir une chaine de caractères en hexa en retournant un unsigned int, afin de le convertir de la forme 0x 00ea 2733 ....

    Je pensais convertir caractère par caractère car on peut aller jusqu'à 2048 bits à convertir... Sauf que je suis un peu perdu sur quoi partir.

    Ps : je n'ai pas le droit à tout ce qui est scanf et fonction système non recodée par moi même.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 480
    Par défaut
    Bonjour,

    Si c'est en hexa, tu peux la traiter caractère par caractère. C'est très facile.

    Il te suffit d'utiliser une variable unsigned int initialisée à zéro et te servant d'accumulateur. Tu lis ensuite la chaîne de gauche à droite et à chaque tour, tu multiplies l'accumulateur par seize et tu lui ajoutes la valeur représentée par le caractère courant.

    Quand tu as atteint la fin de la chaîne, tu sors en renvoyant le résultat.

  3. #3
    Membre averti
    Homme Profil pro
    étudiant @ Epitech
    Inscrit en
    Novembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant @ Epitech
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 16
    Par défaut
    Merci beaucoup pour l'aide ! Je vais essayé ça

  4. #4
    Membre averti
    Homme Profil pro
    étudiant @ Epitech
    Inscrit en
    Novembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant @ Epitech
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 16
    Par défaut
    Heu, j'ai un petit souci avec le terme accumulateur, à par une pile, ça me dit pas grand chose, tu peux développer s'il te plait ?

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 480
    Par défaut
    Un « accumulateur » est un registre qui sert à la fois d'opérande à une opération et à en recevoir le résultat. L'avantage est que cela te permet également de le réutiliser immédiatement dans l'opération suivante, ce qui est intéressant lorsque tu fais des itérations. En ce sens, l'écran d'une calculatrice quatre opérations peut être considéré comme un accumulateur.

    À noter qu'un « registre » est n'importe quoi qui puisse contenir une valeur. Beaucoup de gens associent implicitement le mot « registre » à « registre du processeur », mais ce n'en est en fait qu'un cas particulier, et l'expression « registre du processeur » est vraie en soi mais n'est qu'une appellation généraliste pour désigner quelque chose qui ne portait pas de nom dédié. Mais on le retrouve partout ailleurs en informatique, à commencer par la « base de registres » Windows, ainsi que dans la vie courante, comme le « registre d'un hôtel ». D'ailleurs, dans cet esprit, la fameuse base de registre est parfois traduite en « le registre système ».

    Mais pour l'heure, tu n'as pas besoin de t'embrouiller avec tout cela : tu n'as qu'à considérer qu'il s'agit d'une variable « total » que tu initialises à zéro au départ et que tu vas remplir tout au long de ta boucle.

  6. #6
    Membre averti
    Homme Profil pro
    étudiant @ Epitech
    Inscrit en
    Novembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant @ Epitech
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 16
    Par défaut
    Génial ! Merci pour la réponse et le temps pris pour celle-ci !

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

Discussions similaires

  1. conversion chaine hexa en int
    Par Biosox dans le forum SL & STL
    Réponses: 2
    Dernier message: 31/05/2007, 11h17
  2. conversion chaine en hexa?
    Par Wael Maaoui dans le forum Général Python
    Réponses: 5
    Dernier message: 16/03/2007, 12h11
  3. [T-SQL]Conversion chaine de caracteres -> HEXA
    Par julio84 dans le forum Sybase
    Réponses: 1
    Dernier message: 21/09/2006, 08h28
  4. [SYBASE][T-SQL]Conversion chaine de caracteres -> HEXA
    Par julio84 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/09/2006, 16h28
  5. conversion d'une chaine de caractère en int
    Par greg13 dans le forum C++
    Réponses: 3
    Dernier message: 25/08/2005, 16h18

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