About Me

My photo
Raipur, Chhattisgarh, India
Hi , I am Amit Thakur. I have worked as a QA Engineer for two years and as a Java Developer for one year in NIHILENT TECHNOLOGIES PVT. LTD., Pune.Currently I am working as DEAN (Research & Development) in Bhilai Institute of Technology, Raipur.

Tuesday, September 3, 2013

C Program to Convert Decimal number into Binary Number

#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 -
VariableData TypeInitial ValueUse of Variable
rem[50]long intGarbageStoring the Remainder
ilong int0Subscript Variable for Running Loop
lengthlong int0Storing the Length of the Array
We are following steps until the number becomes 0 or less than 0 -
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: