Otro código de formato %o en C

– Prog035

/* Prog035.cpp */

/* Programa que convierte un número decimal entero a octal */
#include<stdio.h>
#include<conio.h> /* Porque utilizo: getch() */
void main()
{
int numero;
printf («Numero entero en decimal: «); scanf(«%d», &numero);
printf («nnSu representacion en octal es %o»);
/* Observa que no es necesario escribir el nombre de la variable. Toma nota del código de formato de un número en octal: %o */
printf («nPresione cualquier tecla para terminar…n»); getch();
}

Un número entero en decimal quiere decir en base 10, un número en octalquiere decir en base 8

Si tubiéramos de pasar un número en base 10 a base 8 “a mano”, deberíamos hacer lo siguiente, por ejemplo con el número 85:

85: 8 = 10, resto=5 10:8 = 1, resto = 2

Iríamos dividiendo el número y sus cocientes sucesivos por 8, hasta que no pudiéramos más.

El número correspondiente en base 8, serían los diferentes restos y el último cociente, escritos al revés, en nuestro ejemplo: 85 en base 10 = 125 en base 8. Como puedes comprobar si ejecutas el Prog035.cpp y ante la pregunta“Número entero en decimal:” escribes 85.

Fuente: Programación en C/C++ (Manual FV) de Fermí Vilà