Programa en C para convertir números octales a decimales

Programa en C para convertir números octales a decimales

En este ejemplo, aprenderá a convertir números octales a decimales. Aquí escribimos un programa en C que toma un número octal como entrada y lo convierte en un número decimal equivalente. Convertir un número octal a decimal significa convertir el número con valor base 10 al valor base 8.

El valor base de un sistema numérico determina el número de dígitos utilizados para representar un valor numérico. Por ejemplo, un sistema numérico decimal utiliza 10 dígitos del 0 al 9 para representar cualquier valor numérico.

Dado un número octal n, debe convertirlo a un número decimal.

Ejemplos:

Input : n = 30
Output : 24
24 is decimal equivalent of octal 30.


Input : n = 11
Output : 9

Lógica para convertir números octales a decimales:

Paso 1: Ordene el número octal con la potencia de 8 y comience desde el lado derecho. Por ejemplo,

1278 => 1 × 8 2 + 2 × 8 1 + 7 × 8 0

Paso 2: Evalúa la potencia de 8 valores para cada número octal y multiplícalo por los números respectivos.

1278 => 1 × 64 + 2 × 8 + 7 × 1 

1278 => 64 + 16 + 7

Paso 3: Ahora, en el último, agregue todos los valores para obtener el número decimal respectivo.

1278 => 8710

Programa en C para convertir números octales a decimales

Método 1:usar la función de biblioteca math.h

#include <stdio.h>
#include <math.h>

int OctalToDecimal(int octNum)
{
    int decNum = 0, i = 0;

    while(octNum != 0)
    {
        decNum += (octNum%10) * pow(8,i);
        ++i;
        octNum/=10;
    }

    return decNum;
}

int main()
{
    int octNum;

    printf("Enter an octal number: ");
    scanf("%d", &octNum);

    //Function Call to convert octal to decimal
    const int decNum = OctalToDecimal(octNum);

    printf("%d = %d in decimal\n", octNum, decNum);

    return 0;
}

Salida:

Método 2:

Extraiga los dígitos de un número octal dado, comenzando con el dígito más a la derecha, y guárdelos en una variable llamada last_digit. Ahora multiplique el último dígito por el valor base apropiado (Potencia de 8) y agregue el resultado a la variable decNum. Repita el proceso hasta que el número octal dado se convierta en cero.

#include <stdio.h>

int octalToDecimal(int octNum)
{
    int decNum = 0;

    // Initializing baseValue value to 1, i.e 8^0
    int baseValue = 1;

    int temp = octNum;
    while (temp)
    {
        // Extracting last digit
        int last_digit = temp % 10;

        // Multiplying last digit with appropriate
        // base value and adding it to decNum
        decNum += last_digit * baseValue;

        baseValue = baseValue * 8;

        temp = temp / 10;
    }

    return decNum;
}


int main()
{
    int octNum;

    printf("Enter an octal number: ");
    scanf("%d", &octNum);

    //Function Call to convert octal to decimal
    const int decNum = octalToDecimal(octNum);

    printf("%d = %d in decimal", octNum, decNum);

    return 0;
}

Publicación recomendada:

  • Cursos y tutoriales de programación en C.
  • Cursos y Tutoriales de Programación CPP.
  • Cursos y tutoriales de Python.
  • Programa en C a número decimal a octal
  • Convertir número decimal a binario
  • Programa en C de decimal a binario usando recursividad y sin usar el operador de potencia
  • Programa de número decimal a binario usando recursividad
  • Programa en C para convertir decimal a binario sin usar operadores aritméticos.