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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #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.