How to write a C Program to Convert Decimal to Octal Number with a practical example?. Before Converting Decimal to Octal Number in C, as we all know,
- Decimal values are base 10 number systems, and they use numbers between 0 and 9
- The octal numbers are Numbers of base 8, and they are they use numbers between 0 and 7
To convert Decimal Number to Octal Number in C – First, Divide Original value with 8. Next, Divide the Quotient by 8. Repeat the same procedure until the given number is zero.
C Program to Convert Decimal to Octal Number Example 1
It is the most straightforward and better approach to convert decimal numbers to octal numbers
/* C Program to Convert Decimal to Octal Number */ #include <stdio.h> int main() { int number; printf("\n Please Enter the Number You want to Convert : "); scanf("%d", &number); printf("\n Octal Number of a Given Number = %o", number); return 0; }
C Decimal to Octal output
Please Enter the Number You want to Convert : 50
Octal Number of a Given Number = 62
Convert Decimal to Octal Number Example 2
This program for converting decimal to octal in C uses For Loop to convert the user given Decimal value to Octal value. Finally, we used another For Loop to print Array elements. I suggest you refer Print Array article
/* C Program to Convert Decimal to Octal Number */ #include <stdio.h> int main() { int octalNumber[10], number, i, j; printf("\n Please Enter the Number You want to Convert : "); scanf("%d", &number); for(i = 0; number > 0; i++) { octalNumber[i] = number % 8; number = number / 8; } printf("\n Equivalent Octal Number of a Given Number = "); for(j = i - 1; j >= 0; j--) { printf("%d", octalNumber[j]); } return 0; }
Please Enter the Number You want to Convert : 25
Equivalent Octal Number of a Given Number = 31
Convert Decimal to Octal Number example 3
This program is the same as above. Here, replaced the For Lop with While Loop.
/* C Program to Convert Decimal to Octal Number */ #include <stdio.h> int main() { int octalNumber[10], number, i, j; printf("\n Please Enter the Number You want to Convert : "); scanf("%d", &number); while(number != 0) { octalNumber[i++] = number % 8; number = number / 8; } printf("\n Equivalent Octal Number of a Given Number = "); for(j = i - 1; j > 0; j--) { printf("%d", octalNumber[j]); } return 0; }
Convert Decimal to Octal Number using Functions
In this program we used Functions to separate the logic.
/* C Program to Convert Decimal to Octal Number */ #include <stdio.h> long Decimal_to_Octal(int number) { long octalNumber = 0, i = 1; int remainder; while(number != 0) { remainder = number % 8; number = number / 8; octalNumber = octalNumber + (remainder * i); i = i * 10; } return octalNumber; } int main() { int number; printf("\n Please Enter the Number You want to Convert : "); scanf("%d", &number); long oct = Decimal_to_Octal(number); printf("\n Equivalent Octal Number of %d = %ld", number, oct); return 0; }
Please Enter the Number You want to Convert : 22
Equivalent Octal Number of 22 = 26
Convert Decimal to Octal Number Example 5
This is an another C programming example to convert decimal values to octal numbers.
/* C Program to Convert Decimal to Octal Number */ #include <stdio.h> #include<math.h> long Decimal_to_Octal(int number) { long octalNumber = 0; int remainder, count = 0; while(number != 0) { remainder = number % 8; number = number / 8; octalNumber = octalNumber + remainder * pow(10, count); count++; } return octalNumber; } int main() { int number; printf("\n Please Enter the Number You want to Convert : "); scanf("%d", &number); long oct = Decimal_to_Octal(number); printf("\n Equivalent Octal Number of %d = %ld", number, oct); return 0; }
Please Enter the Number You want to Convert : 70
Equivalent Octal Number of 70 = 106