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.
- Basic program
- 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.