C Program to Convert Octal to Decimal

In this tutorial, we will write a program to convert octal to decimal in C using whille loop. Before that, you must have knowledge of the following topics in C.

Octal number

The octal numbers are the numbers with base 8 and use the digits 0 to 7. Example: 8 in decimal is represented as 10 in octal, 25 as 31, and so on.

Decimal Number

These are the numbers with a base of 10, which ranges from 0 to 9. These numbers are formed with the combination of 0 to 9 digits such as 24, 345, etc.

Example:

Input: 400
Output: 256

Let us go through a program for the Octal to Decimal Conversion in C. we will perform two different C programs.

  1. Basic program
  2. Using user-defined function

C Program to Convert Octal to Decimal

Source code:

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

int main()
{
  int octalNum, decimalNum = 0, i = 0;

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

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

  printf("Equivalent Decimal Value: %d", decimalNum);

  return 0;
}

Output:

Enter an octal number: 400
Equivalent Decimal Value: 256


Using Function

Source code: convert octal to decimal using function in C.

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

int conversionFunc(int oct)
{
  int i = 0, decimalNum = 0, rem;

  while (oct > 0)
  {
    rem = oct % 10;
    oct /= 10;

    decimalNum = decimalNum + rem* pow(8, i);
    ++i;
  }

  return decimalNum;
}

int main()
{
  int octNum;

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

  printf("Equivalent Decimal Value: %d", conversionFunc(octNum));

  return 0;
}

Output: After the successful execution of the program, it will produce the same out as the above program.