BinToHex

imenesoumaya -  
imene_soumaya Messages postés 6 Statut Membre -
Bonjour,
slt, mon programme est en c++builder il convertis un nombre binaire en hexadécimale en passant de bin =>dec=>hex mais j'ai un problème j'utilise de grande séquences binaires plus de 32 bit alors bin=>dec ( où j'utilise la fonction pow) ne fonctionne pas puisque la capacité d'un entier est limité a 32 bit) que dois je faire ?
si c'est possible répondez moi vite je dois terminer mon programme avant 4 jours
merci

12 réponses

Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Il y a les types long et long long pour avoir des entiers plus grand, mais je ne suis pas sur que ça soit la peine.
En quoi code tu ? je ne comprend pas où est le problème.
0
imene_soumaya Messages postés 6 Statut Membre
 
slt, merci pour votre réponse..........
je vais vous donner un exemple j'ai un nombre en binaire "1000000000000010001110011011011110" que dois convertir en hexadécimale ma procédure passe du binaires vers le décimale en utilisant la fonction (pow pour cette conversion ) mais un entier est limité à 4294967296 donc ça ne supporte pas de convertir le nombre "1000000000000010001110011011011110"
j'espère que j'ai bien su vous expliquer mon problème et merci ..............................
salutation imene_soumaya
0
scaravenger Messages postés 3055 Statut Membre 617
 
Pourquoi convertis tu en décimal si c'est de l'hexa qui et demandé?
0
imene_soumaya Messages postés 6 Statut Membre
 
slt, je convertis pour convertir du binaire vers l'hexa je doit passer du binaire vers le décimale puis vers le l'hexa
c'est-à-dire : bin=>dec=>hex
merci .................
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
On a compris, mais pourquoi faire cette étape inutile ?
Pour convertir du binaire à l'haxa, rien de plus simple, tu fait des groupes de 4 bit que tu convertis ensuite dans le chiffre hexa souhaité, c'est bien plus simple que de convertir en décimal.
ça ne répond pas à ma question : En quel langage code tu ?
Autre question comment est stocké en mémoire ton nombre binaire ?
0
imene_soumaya Messages postés 6 Statut Membre
 
okey
je programme en c++ builder
et je stock dans un fichier .ini les données sous une représentation hexa,
0
imene_soumaya Messages postés 6 Statut Membre
 
j'ai essayer de la faire car j'ai programmé la même fonction mais HexToBin le pb c'est que je n'arrive pas à regrouper les 4
0
navorinco Messages postés 86 Statut Membre 2
 
vous pouvez essayer ça :
https://codes-sources.commentcamarche.net/
0
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Donc, je suppose que tu stockes ton nombre binaire dans un tableau de caractère.
Faires des groupes de 4, ce n'est pourtant pas trop difficile.
Tu fait du C++, donc, tu doit stocker ton bianire dans un string :
std::string bin="01101010101";
Avant de faire des goupes de 4 :
switch(bin.size()%4)
{case 1: bin="0"+bin;break;
case 2: bin="00"+bin;break;
case 3:bin="000"+bin;break;
}
Ensuite, tu fait un boucle :
for(int n=bin.size()/4-1;n>=0;--n)
dans laquelle tu converti chaque groupe dans le caractère hexa approprier (0 à F)
bin.substr(n*4,4);
0
imene_soumaya Messages postés 6 Statut Membre
 
slt, merci............ pour le programme j'ai fait quelles que modification et ça a marché vous nous avez vraiment aidé
mais vous savez je suis qu'une toute petite programmeuse alors pour moi c'est difficile........
merci encore.......... vous avez confirmer : vous avez TOUJOURS raison
0
navorinco Messages postés 86 Statut Membre 2
 
té de quelle école ?
0
imene_soumaya Messages postés 6 Statut Membre
 
slt, je suis nouvelle donc je suis neutre et merci pour votre proposition ...................
0