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

  FORUM HardWare.fr
  Programmation
  C++

  [C++]Convertion decimal en hexadecimal

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++]Convertion decimal en hexadecimal

n°710245
Alaix
Posté le 27-04-2004 à 20:56:23  profilanswer
 

Bonsoir,
Je voulais savoir si c'etait possible de convertir un decimal en hexadecimal je donne un exemple car en cherchant sur le forum il y a bien deja des posts mais a chaque fois c'est l'embrouille donc :
j'ai par exemple la valeur 965 en decimal et je voudrais recuperer sur 4 chiffres très important 03C5
Merci de vos réponse et evitez s'il vous plait les réponses du style tape toi l'algo avec des boucles (switch,multipli 16,...deja pense mais solution de secours).
Thanks For All !!

mood
Publicité
Posté le 27-04-2004 à 20:56:23  profilanswer
 

n°710255
jagstang
Pa Capona ಠ_ಠ
Posté le 27-04-2004 à 21:11:21  profilanswer
 

Code :
  1. /*decimal to hexadecimal*/
  2. #include<stdio.h>
  3. #include<conio.h>
  4. void main()
  5. {
  6. int n,i,a,m[20];
  7. i=0;
  8. clrscr();
  9. printf("enter the no " );
  10. scanf("%d",&n);
  11. a=n%16;
  12. while(n!=0)
  13. {m[19-i]=a;
  14. n=n/16;
  15. a=n%16;
  16. i+=1;}
  17. printf("\n hex. eq. is " );
  18. for(n=20-i;n<20;n++)
  19. {switch(m[n])
  20. {
  21. case 10:
  22. printf("A" );
  23. goto k;
  24. case 11:
  25. printf("B" );
  26. goto k;
  27. case 12:
  28. printf("C" );
  29. goto k;
  30. case 13:
  31. printf("D" );
  32. goto k;
  33. case 14:
  34. printf("E" );
  35. goto k;
  36. case 15:
  37. printf("F" );
  38. goto k;}
  39. printf("%d",m[n]);
  40. k:}
  41. getch();
  42. }


 
http://www.programmersheaven.com/z [...] /31862.htm

n°710256
jagstang
Pa Capona ಠ_ಠ
Posté le 27-04-2004 à 21:12:15  profilanswer
 

pour récupérer sur 4 chiffre il suffit de limiter la fonction à FFFF... soit 65535

n°710258
skelter
Posté le 27-04-2004 à 21:17:00  profilanswer
 

Code :
  1. #include <iostream>
  2. #include <sstream>
  3. using namespace std;
  4. int main()
  5. {
  6.     int n=965;
  7.    
  8.     ostringstream oss;
  9.    
  10.     oss<<hex<<n;
  11.    
  12.     string str=oss.str();
  13.    
  14.     cout << str << '\n';
  15.    
  16. }

n°710287
Alaix
Posté le 27-04-2004 à 21:49:40  profilanswer
 

merci les gars

n°710288
Taz
bisounours-codeur
Posté le 27-04-2004 à 21:50:51  profilanswer
 

JagStang a écrit :

Code :
  1. /*decimal to hexadecimal*/
  2. #include<stdio.h>
  3. #include<conio.h>
  4. void main()
  5. {
  6. int n,i,a,m[20];
  7. i=0;
  8. clrscr();
  9. printf("enter the no " );
  10. scanf("%d",&n);
  11. a=n%16;
  12. while(n!=0)
  13. {m[19-i]=a;
  14. n=n/16;
  15. a=n%16;
  16. i+=1;}
  17. printf("\n hex. eq. is " );
  18. for(n=20-i;n<20;n++)
  19. {switch(m[n])
  20. {
  21. case 10:
  22. printf("A" );
  23. goto k;
  24. case 11:
  25. printf("B" );
  26. goto k;
  27. case 12:
  28. printf("C" );
  29. goto k;
  30. case 13:
  31. printf("D" );
  32. goto k;
  33. case 14:
  34. printf("E" );
  35. goto k;
  36. case 15:
  37. printf("F" );
  38. goto k;}
  39. printf("%d",m[n]);
  40. k:}
  41. getch();
  42. }


 
http://www.programmersheaven.com/z [...] /31862.htm

c'est presque marrant

n°710289
Taz
bisounours-codeur
Posté le 27-04-2004 à 21:51:39  profilanswer
 

skelter a écrit :

Code :
  1. #include <iostream>
  2. #include <sstream>
  3. using namespace std;
  4. int main()
  5. {
  6.     int n=965;
  7.    
  8.     ostringstream oss;
  9.    
  10.     oss<<hex<<n;
  11.    
  12.     string str=oss.str();
  13.    
  14.     cout << str << '\n';
  15.    
  16. }



il sert à quoi ton stringstream ?

n°710291
skelter
Posté le 27-04-2004 à 21:55:30  profilanswer
 

juste pour foutre dans une chaine le resultat
 
tu dit ca parce que on aurait peu faire
 
cout << hex << n << '\n'; ?
 
voila en cpasulé ds une fonction
 

Code :
  1. string DecToHex(int n)
  2. {
  3.     ostringstream oss;
  4.     oss<<hex<<n;
  5.     return oss.str();
  6. }



Message édité par skelter le 27-04-2004 à 22:00:41
n°710751
christophe​_d13
L'efficacité à tout prix.
Posté le 28-04-2004 à 13:12:14  profilanswer
 

En C il a une fonction qui s'appelle printf... Et il est même possible qu'elle convertisse toute seule le décimal en héxa.
 
C'est formidable ça !!!
 
Le plus dur c'est de lire la doc !!!!!!!!!!!!!!!!

n°710754
skeye
Posté le 28-04-2004 à 13:14:24  profilanswer
 

christophe_d13 a écrit :

En C il a une fonction qui s'appelle printf...


Pas de chance c'est un topic C++...[:joce]

mood
Publicité
Posté le 28-04-2004 à 13:14:24  profilanswer
 

n°710774
xterminhat​e
Si vis pacem, para bellum.
Posté le 28-04-2004 à 13:31:39  profilanswer
 

christophe_d13 a écrit :

En C il a une fonction qui s'appelle printf... Et il est même possible qu'elle convertisse toute seule le décimal en héxa.
 
C'est formidable ça !!!
 
Le plus dur c'est de lire la doc !!!!!!!!!!!!!!!!


 
En C++ il y a la même chose  :fou:  Lisez la doc de de iostream !!!!
 

Code :
  1. // conversion d'un nombre 'int' vers une chaine hexa
  2. std::ostringstream str;
  3. str << std::setbase(16) << valeur;


 


---------------
Cordialement, Xterm-in'Hate...
n°711020
Taz
bisounours-codeur
Posté le 28-04-2004 à 15:30:44  profilanswer
 

mais on a déjà cité std::hex :o

n°711189
Alaix
Posté le 28-04-2004 à 17:14:29  profilanswer
 

si je pouvais rajouter qqch a ma demande je voudrais le code hexadecimal en majuscule c'est possible avec l'exemple de skelter ???
606-->25E et non 25e car j'en ai besoin sous cette forme la ds une table de symboles.
Merci


Message édité par Alaix le 28-04-2004 à 19:03:15
n°711193
red factio​n
Posté le 28-04-2004 à 17:17:40  profilanswer
 

ca faisait longtemps que javais plus vu des goto


Message édité par red faction le 29-04-2004 à 09:22:23
n°711234
christophe​_d13
L'efficacité à tout prix.
Posté le 28-04-2004 à 18:57:23  profilanswer
 

skeye> Tu crois pas non plus que je vais lui fournir la réponse...
 
Alaix> Achète un bouquin sur le C++ et lis-le !
 
Non mais que diable !

n°711237
Alaix
Posté le 28-04-2004 à 18:59:38  profilanswer
 

toi ta pas bien d'utilité...
a quoi bon le forum si tu ne partage pas tes connaissances
enfin chacun ses idées et pour info le but du forum c'est pas de casser sans arret parce que ca effectivement c'est pas bien compliqué


Message édité par Alaix le 28-04-2004 à 19:00:52
n°711282
xterminhat​e
Si vis pacem, para bellum.
Posté le 28-04-2004 à 19:42:28  profilanswer
 

Alaix a écrit :

si je pouvais rajouter qqch a ma demande je voudrais le code hexadecimal en majuscule c'est possible avec l'exemple de skelter ???
606-->25E et non 25e car j'en ai besoin sous cette forme la ds une table de symboles.
Merci


 

Code :
  1. std::ostringstream str;
  2. str << std::setbase(16) << std::setiosflags(std::ios_base::uppercase) << valeur;


---------------
Cordialement, Xterm-in'Hate...
n°711283
Alaix
Posté le 28-04-2004 à 19:43:31  profilanswer
 

xterminhate je te congratule
merci pour tout !!!

n°711366
myst78
Posté le 28-04-2004 à 21:55:54  profilanswer
 

t'as inclus iomanip ?


---------------
Fleur de métal, entité invulnérable, vêtue tant bien que mal, d'une muraille inébranlable...
n°711367
Alaix
Posté le 28-04-2004 à 21:58:13  profilanswer
 

oui c'est bon je viens de le trouver
mais en fait maintenant qq soit la valeur que je donne il me sort comme reponse 0012FF40 ??

n°711375
skelter
Posté le 28-04-2004 à 22:10:13  profilanswer
 

?
ou est le probleme ?
 

Code :
  1. #include <iostream>
  2. #include <iomanip>
  3. int main()
  4. {
  5.    std::cout << std::hex << std::setiosflag(std::ios_base::uppercase )<< 965 << '\n';
  6. }

n°711376
Alaix
Posté le 28-04-2004 à 22:10:16  profilanswer
 

ok c'est bon ca marche merci

n°711377
Alaix
Posté le 28-04-2004 à 22:11:05  profilanswer
 

le probleme c'est que ca ca marche pas
std::setbase(16)
std::setbase(16)
Merci pour ton aide skelter je te remercie

n°711380
skelter
Posté le 28-04-2004 à 22:17:56  profilanswer
 

std::setbase(16) ==> ca marche pas?
 
c koi ton compilo ?

n°711411
fli
Posté le 28-04-2004 à 23:52:28  profilanswer
 

Code :
  1. printf("%X", 965);


 
C?est moins  C++, mais c?est court quand même :ange:  

n°711427
skelter
Posté le 29-04-2004 à 00:19:42  profilanswer
 

parce que cout<<hex<<965; c'est long ?

n°711442
Taz
bisounours-codeur
Posté le 29-04-2004 à 00:40:02  profilanswer
 

spa bientot finit toutes ces conneries ?
 
 
 std::cout  
    << std::showbase << std::hex << std::uppercase << 0xdeadbeef << '\n';

n°711502
Joel F
Real men use unique_ptr
Posté le 29-04-2004 à 09:19:54  profilanswer
 

fli a écrit :

Code :
  1. printf("%X", 965);


 
C?est moins  C++, mais c?est court quand même :ange:


 
Ben on est dans la cat C++ donc HS :o

n°711558
fli
Posté le 29-04-2004 à 10:15:22  profilanswer
 

C vraiment naz, depuis quand on n'a pas le droit d'utiliser la lib C en C++ !!
 
Et si tu veux formater une string pas nécessairement sur le stdout, j'imagine que vous allez avoir une une superbe idée pour remplacé un pauvre sprintf :)
 
Bonne pignole  :sleep: ,
 
je vais me "TT" tout seul
 
 :bounce:  :bounce:  :bounce:

n°711588
red factio​n
Posté le 29-04-2004 à 10:47:03  profilanswer
 

fli a écrit :

C vraiment naz, depuis quand on n'a pas le droit d'utiliser la lib C en C++ !!
 
Et si tu veux formater une string pas nécessairement sur le stdout, j'imagine que vous allez avoir une une superbe idée pour remplacé un pauvre sprintf :)
 
Bonne pignole  :sleep: ,
 
je vais me "TT" tout seul
 
 :bounce:  :bounce:  :bounce:


 
bien sur que tu peut lutiliser et que ca va fonctionner sans prob, mais ca reste sale. si tu fait du C++ tu utilise ce qui a ete prevu point barre. aurevoir printf fopen and co


Message édité par red faction le 29-04-2004 à 11:13:26
n°711593
blackgodde​ss
vive le troll !
Posté le 29-04-2004 à 10:51:30  profilanswer
 

fli a écrit :

C vraiment naz, depuis quand on n'a pas le droit d'utiliser la lib C en C++ !!
 
Et si tu veux formater une string pas nécessairement sur le stdout, j'imagine que vous allez avoir une une superbe idée pour remplacé un pauvre sprintf :)
 
Bonne pignole  :sleep: ,
 
je vais me "TT" tout seul
 
 :bounce:  :bounce:  :bounce:


 
ouais c'est sur std::ostringstream comme il a été déjà dit, c super dur à utiliser quand meme ...


---------------
-( BlackGoddess )-
n°711656
Ciler
Posté le 29-04-2004 à 12:03:06  profilanswer
 

Taz a écrit :

0xdeadbeef  


[:meganne]
 
Je ne suis pas sur de voir l'interet de massacrer un animal innocent pour cet exemple :o


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
n°711700
Joel F
Real men use unique_ptr
Posté le 29-04-2004 à 13:16:29  profilanswer
 

fli a écrit :

C vraiment naz, depuis quand on n'a pas le droit d'utiliser la lib C en C++ !!
 
Et si tu veux formater une string pas nécessairement sur le stdout, j'imagine que vous allez avoir une une superbe idée pour remplacé un pauvre sprintf :)
 
Bonne pignole  :sleep: ,
 
je vais me "TT" tout seul
 
 :bounce:  :bounce:  :bounce:


 
 

Code :
  1. ostringstream str;
  2. str << setbase(16) << setiosflags(ios_base::uppercase) << valeur;

:whistle:

n°711713
Taz
bisounours-codeur
Posté le 29-04-2004 à 13:30:12  profilanswer
 

ouais enfin là c'est compliqué pour rien  
 
si on veut jouer avec les flags, faut utiliser setf/unsetf

n°712091
kabuto
Posté le 29-04-2004 à 17:44:03  profilanswer
 

Eheh le changment de pass :)

n°712092
kabuto
Posté le 29-04-2004 à 17:44:17  profilanswer
 

[:gordon shumway]

n°712182
Alaix
Posté le 29-04-2004 à 18:58:43  profilanswer
 

lol

mood
Publicité
Posté le   profilanswer
 


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

  [C++]Convertion decimal en hexadecimal

 

Sujets relatifs
[ASM] Conversion entier en chaine decimalModifier en chaine héxadécimal
Division sous DOS: résultat en nombre décimalConvertion Nom colonne en Numéro colonne
[Convertion Bdd] Mysql/php en AccessConvertion PDF en RFT (ou .DOC)
[JAVA] Peut-on fixer le séparateur décimal à l'exécution ?Help : atoi... ou la convertion de char en int.
Pb de convertion de double en string :/Convertion d'une DOC en HTML en format word, pdf ou autre...
Plus de sujets relatifs à : [C++]Convertion decimal en hexadecimal


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)