je veux écrire une fonction qui permet de convertir un nombre décimal en un nombre binaire.
je veux écrire une fonction qui permet de convertir un nombre décimal en un nombre binaire.
Pourrais tu être plus explicite, par exemple le prototype de la fonction, parce sinon on peut considérer qu'un int est déjà sous forme binaire.
par exemple
si nb_decimal=7 je doit avoir nb_binaire = 111;
J'ai bien compris la conversion, mais plus précisement nb_decimal et nb_binaire sont de quels types, des int des string ?
Quelque chose comme cela ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 string translate(const int Value) { string ret = ""; unsigned int mask = 0x80000000; for(int boucle = 0; boucle != 32; boucle++, mask >>= 1) { if(mask > Value) continue; if( (mask & Value) == mask) strcat(buffer, "1"); else strcat(buffer, "0"); } return ret; }
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbe Un logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #include <bitset> #include <iostream> using namespace std; int main() { unsigned long nombre; cout << "Entrer le nombre : "; cin >> nombre; cout << endl; if (!cin) { cout << "Erreur" << endl; return EXIT_FAILURE; } bitset<32> binaire(nombre); cout << "En binaire : " << binaire.to_string() << endl; return EXIT_SUCCESS; }
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbe Un logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Salut,
Heu, peut-on tout simplement savoir quel en est le but
Si le but est, effectivement de présenter la valeur en binaire, la solution de JolyLoic est diéale... Mais...
Il faut savoir que tout est de toutes façons maintenu en mémoire sous forme binaire, du coup... il faut savoir si cela vaut *réellement* la peine de s'enquiquiner à cela
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
pour le code de JolyLoic, est ce je peut l'utiliser comme une fonction qui retourne un tableau de caratère ou d'entiers
Cela n'aurait que peu d'intérêt de l'utiliser pour renvoyer un tableau d'entiers...
Par contre, juste après le to_string(), tu peux rajouter un c_str(), ce qui donne un code du genre de
Tu pourrait envisager une fonction du genre de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 bitset<32> binaire(nombre); char * binarystr=binaire.to_string().c_str();
Mais étant donné le peu de ligne que cela représente, est-ce que cela vaut réellement la peine de le faire en procédural, sachant que les endroits où tu en aura besoin risque d'être limités
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 const char* longtobinary(unsigned long int convert) { /* des fois qu'il y aurait plus de 4 octets dans un long int * idéalement, il faudrait d'ailleurs s'assurer de la taille des * caractères :P*/ bitset<size_of(unsigned long int)*8> binaire(convert); return binaire.to_str().c_str(); }
*Eventuellement*, tu pourrait envisager de créer une classe qui serait responsable de cela en orienté objet, voire, mieux, une classe template pour autoriser les différents type primitifs, mais, même là, cela me semble excessif
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Attention, retour d'un pointeur sur des données qui n'existent plus !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 std::string longtobinary(unsigned long int convert) { bitset<sizeof(convert)*CHAR_BIT> binaire(convert); return binaire.to_string(); }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager