#include<stdio.h> #include<conio.h> #include<math.h> void dec_bin(long int num) // Function Definition { long int rem[50],i=0,length=0; while(num>0) { rem[i]=num%2; num=num/2; i++; length++; } printf("Binary number : "); for(i=length-1;i>=0;i--) printf("%ld",rem[i]); } //================================================ void main() { long int num; clrscr(); printf("Enter the decimal number : "); scanf("%ld",&num); dec_bin(num); // Calling function getch(); }
Output :
Enter the decimal number : 7 Octal number : 111
Explanation of Program :
Always Program execution starts from main function. Inside Main function we are accepting the decimal number.
printf("Enter the decimal number : "); scanf("%ld",&num);
Now after accepting the input decimal number we pass the decimal number to function dec_bin(num) function using following syntax.
dec_bin(num); // Calling function
Inside the Function Call -
We have declared some variables and the use of each variable is listed in following table -
Variable | Data Type | Initial Value | Use of Variable |
---|---|---|---|
rem[50] | long int | Garbage | Storing the Remainder |
i | long int | 0 | Subscript Variable for Running Loop |
length | long int | 0 | Storing the Length of the Array |
Step 1 : Check Whether the Number is Less than or Equal to Zero
Step 2 : Divide the number by 2 and store the remainder in the array
while(num>0) { rem[i]=num%2; num=num/2; i++; length++; }
Step 3 : Increase the length of the array by 1 and also increment the subscript variable
After the execution of while loop print the array in reverse order.
No comments:
Post a Comment