Conversion Base C++

Skeletyon Messages postés 1552 Date d'inscription   Statut Membre Dernière intervention   -  
Skeletyon Messages postés 1552 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,
Je cherche une fonction me permettant de convertir un nombre saisi par l'utilisateur dans une autre base.

Ex: l'utilisateur saisit 15, il dit que le nombre est en base décimale et qu'il me les convertisse en hexa, octale et binaire.

J'ai pour l'instant été obligé de réécrire les fonctions pour tous les cas:
case 1:
i=0; // positionnement dans le tableau de caractères
NOMBR2=NOMBR;
do //Binaire
{
RESULTAT[i] = BINAIRE[NOMBR2 % BASE2];
NOMBR2 = NOMBR2/BASE2; // deux entiers entrainent une division entière
i++;
}
while (NOMBR2 != 0);
RESULTAT[i]='\0'; //fin de la chaine de caractère
INVERSE (RESULTAT);

cout << RESULTAT << " en binaire" << endl;
etc pour les autres bases.

- Je cherche à optimiser tout ça et de faire une fonction générique pour ne pas être obligé de réécrire tout ça à chaque fois.

Je ne maîtrise pas encore tout à fait les entrées-sorties et je voudrais bien une petite lumière :=)
Merci d'avance et bon appétit pour ceux qui vont manger ^^


A voir également:

2 réponses

nobie-cs Messages postés 155 Date d'inscription   Statut Membre Dernière intervention   17
 
comme il va savoir que c'est du décimale note que 15 existe en hexa et on octale
pour convertir de base 10 au autre
int nb=15;
int base2;
int cpt=1; 
do{
base2 = base2 + (cpt *(nb%2))
nb= nb / 2;
}while(nb!=0)
0
Carl
 
C'est quoi cette horreur ?!!!
Ca se fait en 1 ligne, vu que la fonction est en standard !!!
Grave ...
0
Skeletyon Messages postés 1552 Date d'inscription   Statut Membre Dernière intervention   156
 
Horreur où?
Je cherche avant tout à comprendre, les ceci c'est de la merde ça se fait autrement... ne sont utiles que si les autrement sont dits...
Je vais essayer ça nobie, merci de m'aider.
0