C Program for Octal To Decimal Conversion

Octal to Decimal Conversion in C

Here, in this page we will discuss octal to decimal conversion  in C. The concept of converting an octal number to a decimal number is very simple , extract the digits of the octal number (start from right for convenience )and multiply the digits with the proper base(power of 8) lastly add each of the results and we will get a converted number as an output.

Example: 2012(Octal number)

Explanation : Decimal number     = 2*(8^3) + 0*(8^2) + 1*(8^1) + 2*(8^0)= 1024 + 0 + 8 + 2

            = 1034

Octal to decimal conversion


  1. User gives an input(octal number)
  2. The input is stored in an int type variable say octal.
  3. A function convert()  is called with octal as parameter.
    1. Digits of octal are extracted one by one starting from right.

                     int rem = octal%10;

                2. Extracted digits are multiplied with proper base i.e. power of 8.

                     int res = rem*pow(8,i);

                3. After multiplying each digit with proper base the results are added and stored in another variable say decimal.

                    decimal += res;

     4. The output is printed.

Octal to decimal conversion in C
Competitive Coding Techniques

C program for Octal to Decimal Conversion

    #include <stdio.h>

// Function to convert octal number to decimal

int convert(int octal)


int decimal = 0, i = 0;

//converting octal to decimal

while (octal != 0)


int rem = octal % 10;

octal /= 10;

int res=rem*pow(8,i);

decimal += res;



return decimal;


//main program

int main()


int octal;

printf("Enter an octal number: ");

//user input

scanf("%d", &octal);

//calling function

int decimal=convert(octal);

//printing output

printf( " %d in octal = %d in decimal", octal, decimal);

return 0;



Enter an octal number: 2022

2022 in octal = 1042 in decimal