Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1584 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] Convertion double -> dec -> hex

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Convertion double -> dec -> hex

n°936025
Sagoth
:|
Posté le 03-01-2005 à 19:18:05  profilanswer
 

Bonjour.
 
Un probleme de conversion un peu spécial pour lequel je n'ai pas trouvé de solution dans les posts existants :
 
J'ai un buffer de char (appelons le charbuff)avec les valeurs suivantes :
'2' '3' '3' '0' '9' '8' ... bref etc jusqu'a l'indice 14.
 
Je souhaite convertir ce buffer en une valeur numerique.
Vu la taille du merdier je pense utiliser un "double" et une methode bourrine du genre :
 
Pour i allant de 0 a 15
    val += charbuff[i] * ((2^(15-i) -1)
Fin pour
 
Deja c'est pas tres propre, donc si vous avez une methode toute faite pour gerer ça, je suis preneur ^^
 
Ensuite ce "double" doit etre convertit en valeur hexa dans un tableau de char de taille 6. Je n'ai pas trouvé d'équivalent à la fonction atoi pour les doubles, donc si vous avez une idée ou une methode je suis egalemment interressé.
 
Merci d'avance !
 
 
 
 
 
 

mood
Publicité
Posté le 03-01-2005 à 19:18:05  profilanswer
 

n°936027
FlorentG
Unité de Masse
Posté le 03-01-2005 à 19:19:43  profilanswer
 

Déjà on met pas la charrue avant les boeufs, donc c'est pas "charbuff", mais "buffchar" :o  
 
[] ---->

n°936028
Lam's
Profil: bas.
Posté le 03-01-2005 à 19:21:30  profilanswer
 
n°936063
Emmanuel D​elahaye
C is a sharp tool
Posté le 03-01-2005 à 20:13:50  profilanswer
 

Sagoth a écrit :


J'ai un buffer de char (appelons le charbuff)avec les valeurs suivantes :
'2' '3' '3' '0' '9' '8' ... bref etc jusqu'a l'indice 14.
 
Je souhaite convertir ce buffer en une valeur numerique.


Qu'est-ce qui ne va pas avec strtol(), strtoul() ou strtod() ? Evidemment, la chaine doit être valide (tableau de char terminé par un 0).


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°936173
matafan
Posté le 03-01-2005 à 22:22:40  profilanswer
 

Oui utilises strtoll ou sscanf avec %lld. Dans un long long tu peux stocker n'importe quel nombre de 18 chiffres. Après, pour recracher de l'hexa, sprintf avec %llx.


Message édité par matafan le 03-01-2005 à 22:24:10
n°936309
Sagoth
:|
Posté le 04-01-2005 à 09:58:27  profilanswer
 

Le type long long c'est un type officiel ? il ne semble pas reconnu

n°936351
Sagoth
:|
Posté le 04-01-2005 à 10:48:59  profilanswer
 

strtod ca foire, il me manque un chiffre.
avecmon sscanf je n'arrive pas a gerer le type long long

n°936362
Taz
bisounours-codeur
Posté le 04-01-2005 à 11:04:04  profilanswer
 

long long est C99 et supporté depuis un bout de temps par des compilateurs comme GCC.

n°936363
Emmanuel D​elahaye
C is a sharp tool
Posté le 04-01-2005 à 11:04:12  profilanswer
 

Sagoth a écrit :


avec mon sscanf je n'arrive pas a gerer le type long long


Il faut un compilateur qui supporte C99, comme gcc 3.x
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°936381
Taz
bisounours-codeur
Posté le 04-01-2005 à 11:19:43  profilanswer
 

donc en gros t'es sur une plateforme avec des int 64bits mais rien pour les lire ? bizarre

mood
Publicité
Posté le 04-01-2005 à 11:19:43  profilanswer
 

n°936654
Sagoth
:|
Posté le 04-01-2005 à 14:40:03  profilanswer
 

ok, c'est bien des int64 qu'il me fallait.
Si ca peut aider qqun voila le truc :
 
_var64 = _atoi64( num1 );
sprintf(num1hexa , "%I64x", __var64 );
for (iOctet=0;iOctet<MY_SIZE;iOctet++)
    buffer[iOctet] = Hexa2toUchar(noBadgeHexa,iOctet);
 
Avec une fonction Hexa2toUchar maison.
 
Merci de votre aide :)
 

n°936663
Taz
bisounours-codeur
Posté le 04-01-2005 à 14:44:43  profilanswer
 

/me part vomir


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] Convertion double -> dec -> hex

 

Sujets relatifs
Tableau a double entréebesoin d'aide pour convertion html-->css
tableau a double entrée en pascalConversion char en int, float et double
[C++] modulo et doubleConvertion Win32 Epoch
double lienProbleme avec la saisie de flottant et double
[HELP] Page avec frame, double target ???Comment arrondir un double à l'entier le plus proche?
Plus de sujets relatifs à : [C] Convertion double -> dec -> hex


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR