- Escriba un programa en C++ para convertir números decimales a octales.
- Escriba un programa en C++ para convertir números octales a decimales.
En los siguientes programas de C++, aprenderemos sobre los fundamentos del sistema numérico decimal y octal, cómo convertir números decimales a números octales y viceversa. Dado un número decimal y octal, tenemos que convertirlo a números octales y decimales respectivamente.
El sistema numérico decimal es un sistema numérico de base 10 que usa dígitos del 0 al 9 y el sistema numérico octal es un número de base 8 system y usa 0 y 7.
100 en número decimal es equivalente a 144 en el sistema numérico octal.
Programa en C++ para convertir un número decimal a octal
Algoritmo para convertir números decimales a octales
- Divida el número decimal de entrada por 8 y guarde el resto.
- Almacene el cociente en la variable numérica de entrada.
- Repita este proceso hasta que el cociente sea cero.
- El número octal equivalente será el resto del proceso anterior en orden inverso.
Paso 1. 500/8, Resto =4, Cociente =62
Paso 2. 62/8, Resto =6, Cociente =7
Paso 3. 7/8 , Resto =7, Cociente =0
Ahora, el equivalente octal de 500 son los residuos en orden inverso:764
// C++ program to convert decimal numbers to octal numbers #include <iostream> using namespace std; long decimalToOctal(long n); int main() { long decimal; cout << "Enter a decimal number\n"; cin >> decimal; cout << "Octal number : " << decimalToOctal(decimal); return 0; } // Function to convert a decinal number to octal number long decimalToOctal(long n) { int remainder; long octal = 0, i = 1; while(n != 0) { remainder = n%8; n = n/8; octal = octal + (remainder*i); i = i*10; } return octal; }Salida
Enter a decimal number 1234 Octal number : 2322
En el programa C++ anterior, primero tomamos un número entero como entrada del usuario y lo almacenamos en una variable decimal. Luego llamamos a la función decimalToOctal para convertir la función decimal en número octal implementando el algoritmo mencionado anteriormente.
Programa C++ para convertir números octales a números decimales
Algoritmo para convertir números octales a decimales- Multiplicamos cada dígito octal con 8^i y los sumamos, donde i es la posición del dígito octal (comenzando desde 0) desde el lado derecho. El dígito menos significativo está en la posición 0.
Convirtamos 1212(número octal) a número decimal
Número decimal =1*8^3 + 2*8^2 + 1*8^1 + 2*8^0 =512 + 128 + 8 + 2 =650
// C++ program to convert octal numbers to decimal numbers #include <iostream> #include <cmath> using namespace std; long octalToDecimal(long n); int main() { long octal; cout << "Enter an octal number\n"; cin >> octal; cout << "Decimal number : " << octalToDecimal(octal); return 0; } // Function to convert a octal number to decimal number long octalToDecimal(long n) { int remainder; long decimal = 0, i=0; while(n != 0) { remainder = n%10; n = n/10; decimal = decimal + (remainder*pow(8,i)); ++i; } return decimal; }Salida
Enter an octal number 2322 Decimal number : 1234
En el programa anterior, primero tomamos un número octal como entrada usando cin y lo almacenamos en una variable octal larga. Luego llamamos a la función octalToDecimal pasando la variable octal como parámetro para convertir el número octal en número decimal implementando el algoritmo mencionado anteriormente.