Forums Zebulon.fr: problème en C:lire un nombre en hexa et le convertir en int? - Forums Zebulon.fr

Aller au contenu

problème en C:lire un nombre en hexa et le convertir en int? Noter : -----

#1 L'utilisateur est hors-ligne   djmalo 

  • Junior Member
  • Groupe : Membres
  • Messages : 16
  • Inscrit(e) : 24-décembre 01

Posté 05 avril 2002 - 12:49

J'ai un problème en C :
Je dois lire sur l'entrée standard un nombre donné en hexadécimal sur 2 chiffres (ex: 7C) et le convertir en un entier pour le mettre dans une variable.
Comment faire?

Encore mieux : y'a -t-il moyen de convertir ce nombre en 1 nombre binaire sur 8 positions ?


Je m'explique plus précisément : Le nombre en hexa que je dois lire représente en fait des "jours actifs" de la semaine pendant lesquel circule un train . Chaque bit représente donc un jour de circulation de la semaine (sauf le bit de poids le plus fort qui ne correspond à rien).

7C donnerai : 0111 1100 signifiant qu'il circule en semaine
03 : 0000 0011 signifiant qu'il circule le week-end
40 : 0100 0000 signifiant qu'il circule le lundi
20 : 0010 0000 signifiant qu'il circule le mardi
7F : 0111 1111 signifiant qu'il circule tous les jours

Bref à partir de la donné en hexa je dois pouvoir avoir une représentation binaire.
J'éspère avoir été assez clair :P

Merci d'avance à ceux qui pourront m'aider :-(

Malo
0

PUBLICITÉ

  • Annonces Google

#2 L'utilisateur est hors-ligne   rickylarsen 

  • Full Patch Member
  • Groupe : Membres
  • Messages : 1108
  • Inscrit(e) : 06-février 01

Posté 05 avril 2002 - 12:55

je crois que cette question (enfin la conversion hexa-> binaire) à dejà été posée dans le forum fais une petite recherche et aprés d'adapte à ton probleme!!

mais bon si ton nombre hexa est toujours sur 2 chiffres c'est pas trop dur!!

il suffit de faire un gros select case
0

#3 L'utilisateur est hors-ligne   djmalo 

  • Junior Member
  • Groupe : Membres
  • Messages : 16
  • Inscrit(e) : 24-décembre 01

Posté 05 avril 2002 - 12:59

ç'est quoi ce mystérieux select case dont tu me parles?

sinon j'ai fait une recherche comme tu me l'a conseillé , mais malheuresement cela n'a rien donné :P

malo
0

#4 L'utilisateur est hors-ligne   rickylarsen 

  • Full Patch Member
  • Groupe : Membres
  • Messages : 1108
  • Inscrit(e) : 06-février 01

Posté 05 avril 2002 - 01:12

oh desolé c'est switch case dont je voulais parlé!!!

select case c'est pour visual basic!!

si t'as 15 minutes je vé essayé de te le faire!!
0

#5 L'utilisateur est hors-ligne   rickylarsen 

  • Full Patch Member
  • Groupe : Membres
  • Messages : 1108
  • Inscrit(e) : 06-février 01

Posté 05 avril 2002 - 01:42

non ben laisse tombé le switch case c'est definitivement trop long!!

t'as cherché sur t'es moteurs de recherche conversion hexa binaire?
0

#6 L'utilisateur est hors-ligne   djmalo 

  • Junior Member
  • Groupe : Membres
  • Messages : 16
  • Inscrit(e) : 24-décembre 01

Posté 05 avril 2002 - 12:39

ah ok le switch case j'y avais pensé aussi mais ça me semble trop long effectivement :P

sinon vi j'ai fait une recherche , mais pour l'instant j'ai du mal à trouver malheuresement
0

#7 L'utilisateur est hors-ligne   KewlCat 

  • Modérateur
  • Groupe : Modérateur [KewlCat]
  • Messages : 26695
  • Inscrit(e) : 04-décembre 00

Posté 05 avril 2002 - 12:54

Avec un sscanf et le format %X y'aurait pas moyen de récupérer le contenu de ta chaine dans un int ?
(j'ai pas gcc sous la main, je vais avoir du mal à tester et à te filer la soluce de suite...)
A partir du moment où tu as ton nombre sous forme d'int pas la besoin de convertir en "binaire sur huit" ou quoi que ce soit, tu manipules un nombre entier, de toute façon...
Ensuite, pour tester s'il roule un jour, l'opérateur & est super-pratique :

sscanf(bufferEntree, "%X", monInt);
if (monInt & 1) { printf("Ca roule le dimanche !); }

pareil avec & 2 et samedi, & 4 et vendredi, & 8 jeudi etc.
"Le formatage est le dernier refuge de l'incompétence" (Adapté de Isaac Asimov)

Image IPB Image IPB Image IPB Image IPB
0

#8 L'utilisateur est hors-ligne   djmalo 

  • Junior Member
  • Groupe : Membres
  • Messages : 16
  • Inscrit(e) : 24-décembre 01

Posté 05 avril 2002 - 02:31

ah oui tiens le & je l'avais pas en tête
faut dire je l'ai jamais vraiment trop utilisé , ç'est une bonne occaz de le tester

merci de vos conseils :P
0



Réponse rapide

  

Similar Topics
  Sujet Commencé par Statistiques Infos sur le dernier message
Sujet ouvert (nouvelles réponses) Problème de modules avec Firefox 12.0
Ils ne restent pas activés
stromboli57 
  • 4 réponses
  • 177 vues
Sujet ouvert (nouvelles réponses) Problème de clavier youcef-22  
  • 1 réponses
  • 65 vues
Sujet ouvert (nouvelles réponses) Contrôle après problème avec Babylon Toolbar sangui1 
  • 1 réponses
  • 141 vues
Sujet ouvert (nouvelles réponses) Problème d'imprimante en WiFi
HP Photosmart 7280
topludo 
  • 0 réponses
  • 81 vues
Sujet ouvert (nouvelles réponses) [Résolu] Problème drivers Nvidia yoyothebest 
  • 3 réponses
  • 203 vues
Sujet ouvert (nouvelles réponses) Analyse ZHPDiag - problème démarrage Vista
Suite éradication virus, problème démarrage
caledonous 
  • 8 réponses
  • 273 vues
Sujet chaud (nouvelles réponses) [Résolu] Problème avec Java Editha 
  • 33 réponses
  • 1235 vues
Sujet ouvert (nouvelles réponses) Problème de démarrage de Windows
Quelques jours après l'installation de SP3
capucine  
  • 12 réponses
  • 374 vues
Sujet ouvert (nouvelles réponses) Problème de MAJ .NetFramework Jac34 
  • 2 réponses
  • 128 vues
Sujet ouvert (nouvelles réponses) Quelle tablette pour lire vidéos et e-pubs ? korage 
  • 0 réponses
  • 82 vues

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)



    Page officielle Zebulon.fr