Programa en C para convertir el sistema numérico Octal a Decimal

Programa en C para convertir el sistema numérico Octal a Decimal

Escriba un programa en C para ingresar el número octal del usuario y convertirlo al sistema numérico decimal. Cómo convertir del sistema numérico Octal al sistema numérico Decimal en el programa C. Lógica para convertir sistema numérico octal a decimal en programación C.

Ejemplo

Entrada

Input octal number: 172

Salida

Decimal number: 122

Conocimientos requeridos

Programación básica en C, ciclo while

Sistema numérico octal

Sistema de numeración octal es un sistema numérico de base 8. El sistema de numeración octal usa 8 símbolos para representar todos sus números, es decir, 01234567

Sistema numérico decimal

Sistema numérico decimal es un sistema numérico de base 10. El sistema numérico decimal utiliza 10 símbolos para representar todos sus números, es decir, 0123456789

Lógica para convertir de octal a decimal

Algorithm Conversion Octal to Binary
begin:
    read(octal);
    decimal ← 0; rem ← 0; place ← 0;
    While(octal !=0)
    begin:
        remoctal % 10;
        decimaldecimal + (8place * rem);
        octaloctal / 10;
        placeplace + 1;
    end;
    write('Decimal =' decimal);
end;

Programa para convertir sistema numérico octal a decimal

/**
 * C program to convert Octal number system to Decimal number system
 */

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

int main()
{
    long long octal, tempOctal, decimal;
    int rem, place;
    
    /* Input octal number from user */
    printf("Enter any octal number: ");
    scanf("%lld", &octal);
    tempOctal = octal;

    decimal = 0;
    place = 0;
    
    /*
     * Convert octal to decimal
     */
    while(tempOctal > 0)
    {
         /* Extract the last digit of octal */
        rem = tempOctal % 10;

        /* Convert last octal digit to decimal */
        decimal += pow(8, place) * rem;

        /* Remove the last octal digit */
        tempOctal /= 10;

        place++;
    }

    printf("Octal number = %lld\n", octal);
    printf("Decimal number = %lld", decimal);

    return 0;
}

Salida

Enter any octal number: 172
Octal number = 172
Decimal number = 122