BinToHex
imenesoumaya
-
imene_soumaya Messages postés 6 Statut Membre -
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
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
Configuration: Windows XP Firefox 3.0.11
12 réponses
-
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. -
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 -
Pourquoi convertis tu en décimal si c'est de l'hexa qui et demandé?
-
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 ................. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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 ? -
okey
je programme en c++ builder
et je stock dans un fichier .ini les données sous une représentation hexa, -
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
-
vous pouvez essayer ça :
https://codes-sources.commentcamarche.net/ -
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); -
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 -
-
slt, je suis nouvelle donc je suis neutre et merci pour votre proposition ...................