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

  FORUM HardWare.fr
  Programmation
  C++

  conversion hexa -> Decimal

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

conversion hexa -> Decimal

n°320411
jarod2000
Posté le 28-02-2003 à 17:08:42  profilanswer
 

Bonjour tous le monde !!
J'ai un petit gros probleme que j'arrive pas a voir, ca doit etre surement simple mais je dois avouer que je bloque. Alors voila les faits. En faite j'ai une chaine de caractere de 18 chiffres hexadecimaux dont les 6 premiers chiffres correspondent a une valeur, les 6 autres egalement  et les derniers 6 aussi donc pour resumer :
ex : 000010002000FFFFFE
       |  A    |  B    |   C  
A: hexadecimale en complement binaire, dans l'exemple la valeur 16 décimale
B: hexadecimale en complement binaire, dans l'exemple la valeur 8096 décimale
C: hexadecimale en complement binaire, dans l'exemple la valeur -2 décimale.
 
Je souhaites obtenir 3 variables a partir de ma chaine de caractere de depart dont les contenus correspondent a la valeur decimale de A,B et C. Donc A=16, B=8096 et C=-2.
Si quelqu'un pouvait m'aider ca serait bien aimable de ca part car je vois pas tellement comment faire :'(


Message édité par jarod2000 le 28-02-2003 à 17:11:29
mood
Publicité
Posté le 28-02-2003 à 17:08:42  profilanswer
 

n°320421
bobuse
Posté le 28-02-2003 à 17:23:34  profilanswer
 

ben dja tu tronques ta chaine. non ?
bon apres ... t'as pas d'idee ?


---------------
get amaroK plugin
n°320436
jarod2000
Posté le 28-02-2003 à 17:33:43  profilanswer
 

Ouep je me retrouves avec 3 CString avec 000010 dans la 1er 002000 dans la seconde et FFFFFE dans la 3ieme. Maitenant je veux transformer le contenu de ces chaines en leur valeur decimale mais c vrai que je vois pas du tout, mdr c'est si simple que ça ?? j'ai regarder dans les class members de CString et je vois pas trop si ya une fonction que je peux utiliser, peut etre la fonction FORMAT, mais bon pour repondre a ta question .... non j'ai pas d'idée :'(.

n°320454
djok_fb
C'était mieux avant!
Posté le 28-02-2003 à 17:48:57  profilanswer
 

tu peux appliquer le schema de Horner...mais il y a peut etre quelque chose dans la classe String pour faire ca...

n°320465
jarod2000
Posté le 28-02-2003 à 17:59:39  profilanswer
 

je penses qu'il vas falloir que je developpe dans ma metode toute une procedure pour pouvoir convertir ca mais comme tu dis djok_fb ya surement une methode qui permet cela directement et justement c'est ce que je voudrais savoir, donc si quelqu'un voit qui n'hesite pas a me faire signe ;) ca serait sympa de sa part. Encore merci.

n°320467
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 28-02-2003 à 18:01:32  profilanswer
 

CString.Format("%d" )

n°320479
jarod2000
Posté le 28-02-2003 à 18:13:16  profilanswer
 

Citation :


 CString Test="000010";
 Test.Format("%d" );
 cout << Test;


 
Test different de ce que je devrais avoir ( 16 ) :'(

n°320588
Carbon_14
Posté le 28-02-2003 à 22:29:55  profilanswer
 

La méthode "universelle" consiste à multiplier chaque valeur de la base par la puissance de l'indice. :D  
 
abcdef en base 16 se calcule par f * (16 à la puiss zéro) + e * (16 à la puiss 1) + d * (16 à la puiss 2) + ... + a * (16 à la puissance 5).
Si c'était du binaire (ou décimal), ça marche pareil (par définition de la base).
 
Si le digit de gauche est >= 8, négatif si signé, faut voir si besoin de complémenter (il me semble !!!).

n°320622
djok_fb
C'était mieux avant!
Posté le 28-02-2003 à 23:43:19  profilanswer
 

CARBON_14 a écrit :

La méthode "universelle" consiste à multiplier chaque valeur de la base par la puissance de l'indice. :D  
 
abcdef en base 16 se calcule par f * (16 à la puiss zéro) + e * (16 à la puiss 1) + d * (16 à la puiss 2) + ... + a * (16 à la puissance 5).
Si c'était du binaire (ou décimal), ça marche pareil (par définition de la base).
 
Si le digit de gauche est >= 8, négatif si signé, faut voir si besoin de complémenter (il me semble !!!).


ca c'est le schema de Horner mais développer...
 
si ton chiffre s'ecrit: abcdefg en base x pour le convertir en base 10
 
le calcul se fait comme suit:
(( ( ( ((a*x) + b)*x) + c)*x) + d)*x ....+g
et ainsi de suite du coup quand tu developpe le tout, ca donne ce qu'a dit CARBON_14

n°320643
leneuf22
Posté le 01-03-2003 à 00:13:11  profilanswer
 

Je dis peut-être une connerie, mais ça marche pas ça ?
 

Code :
  1. int nbr1, nbr2, nbr3;
  2. sscanf(sz1, "%X", &nbr1);
  3. sscanf(sz2, "%X", &nbr2);
  4. sscanf(sz3, "%X", &nbr3);


Message édité par leneuf22 le 01-03-2003 à 00:14:04
mood
Publicité
Posté le 01-03-2003 à 00:13:11  profilanswer
 

n°320660
jarod2000
Posté le 01-03-2003 à 00:45:46  profilanswer
 

ok je vous remerci pour cette aide, bon je vais devoir coder tous ca ca vas etre un peu plus compliquer que d'avoir un fonction directe. D'ailleurs si quelqu'un connait une fonction qui fait ca directe ;), celle de Harkonnen apparament marche pas a moins que ce soit moi qui est mal codé. Encore un merci a vous.

n°320662
jarod2000
Posté le 01-03-2003 à 00:52:08  profilanswer
 

leneuf22 je te remerci grandement en effet tas soluce marche nickel, désolé j'avais commencer a taper mon post precedent avant que tu mettes le tiens donc j'avais pas encore tas soluce. Un grand merci a vous tous de m'avoir si gentillement aidé.
 

n°340648
Musaran
Cerveaulté
Posté le 23-03-2003 à 02:29:26  profilanswer
 

On peut grouper la lecture:

Code :
  1. const char* s= "000010002000FFFFFE";
  2. int a, b, c;
  3. sscanf(s, "%6x%6x%6x", &a, &b, &c);


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone

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

  conversion hexa -> Decimal

 

Sujets relatifs
[java]convertir un int decimal en hexa et faire ensuite un masque?[Delphi] p'tit blem de conversion
Conversion Base Access vers SQL... Aidez-moi SVP !Comment transfomer de l'hexa en char ou en String ?
[C++] conversion de type avec visual C++[problème] programme en assembleur pour convertir lettre en hexa
[Pascal] Conversion hexa -> decimal[C/C++]Conversion decimal hexa et incrementation?
ASM: Conversion ascii > hexa > decimalConversion Hexa vers décimal
Plus de sujets relatifs à : conversion hexa -> Decimal


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