BinToHex

Fermé
imenesoumaya - 25 juin 2009 à 23:07
imene_soumaya Messages postés 6 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 26 juin 2009 - 26 juin 2009 à 19:32
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 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
26 juin 2009 à 08:10
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 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 26 juin 2009
26 juin 2009 à 10:03
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 2685 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 30 janvier 2015 616
26 juin 2009 à 10:07
Pourquoi convertis tu en décimal si c'est de l'hexa qui et demandé?
0
imene_soumaya Messages postés 6 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 26 juin 2009
26 juin 2009 à 10:12
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 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
26 juin 2009 à 11:46
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 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 26 juin 2009
26 juin 2009 à 12:00
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 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 26 juin 2009
26 juin 2009 à 13:24
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 Date d'inscription dimanche 31 décembre 2006 Statut Membre Dernière intervention 12 janvier 2010 2
26 juin 2009 à 13:45
vous pouvez essayer ça :
https://codes-sources.commentcamarche.net/
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
26 juin 2009 à 13:54
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 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 26 juin 2009
26 juin 2009 à 18:39
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 Date d'inscription dimanche 31 décembre 2006 Statut Membre Dernière intervention 12 janvier 2010 2
26 juin 2009 à 18:53
té de quelle école ?
0
imene_soumaya Messages postés 6 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 26 juin 2009
26 juin 2009 à 19:32
slt, je suis nouvelle donc je suis neutre et merci pour votre proposition ...................
0