Conversion decimal -> octal
Bonjour,
J'ai besoin d'aide...
Je souhaiterais convertir un décimal en octal dans un petit programme c...
Je parviens à afficher de l'octal avec ces 2 lignes :
scanf("%o",&a);
printf("%d\n",a);
Mais comment simplement convertir une variable sans passer par une saisi ou un affichage ???
Suis-je bien clair ?
Merci
legapounet
Re: Conversion decimal -> octal
Citation:
Envoyé par legapounet
Je souhaiterais convertir un décimal en octal dans un petit programme c...
Je parviens à afficher de l'octal avec ces 2 lignes :
scanf("%o",&a);
printf("%d\n",a);
Mais comment simplement convertir une variable sans passer par une saisi ou un affichage ???
Suis-je bien clair ?
Non. En interne, une valeur numérique est stockée en binaire. Il n'y a pas de conversion à faire. C'est la représentation de sa valeur constante (0123) qui peut être octale ainsi que sa représentation textuelle ("%o").
Pour afficher en octal, tu utilises "%o", c'est tout.
Code:
1 2 3 4 5 6 7 8 9 10 11
|
#include <stdio.h>
int main (void)
{
int x = 1234; /* = 02322 */
printf ("%o\n", x);
return 0;
} |
Dans l'autre sens, si tu as une chaine qui représente une valeur en octal, tu utilises strtoul() avec la base 8 pour en récupérer la valeur numérique.
Mais dans tous les cas, il s'agit de conversion texte/numérique ou inversement.