## INDEX

### Program to convert decimal to binary in c

Decimal to binary conversion in c programming language. C source code for decimal to binary conversion:

#include<stdio.h>

int main(){

long int decimalNumber,remainder,quotient;

int binaryNumber[100],i=1,j;

printf("Enter any decimal number: ");

scanf("%ld",&decimalNumber);

quotient = decimalNumber;

while(quotient!=0){

binaryNumber[i++]= quotient % 2;

quotient = quotient / 2;

}

printf("Equivalent binary value of decimal number %d: ",decimalNumber);

for(j = i -1 ;j> 0;j--)

printf("%d",binaryNumber[j]);

return 0;

}

Sample output:

Enter any decimal number: 50
Equivalent binary value of decimal number 50: 110010

Algorithm:

Binary number system: It is base 2 number system which uses the digits from 0 and 1.

Decimal number system:
It is base 10 number system which uses the digits from 0 to 9

Convert from decimal to binary algorithm:

Following steps describe how to convert decimal to binary

Step 1: Divide the original decimal number by 2
Step 2: Divide the quotient by 2
Step 3: Repeat the step 2 until we get quotient equal to zero.

Equivalent binary number would be remainders of each step in the reverse order.

Decimal to binary conversion with example:

For example we want to convert decimal number 25 in the binary.

Step 1:  25 / 2  Remainder : 1 , Quotient : 12
Step 2:  12 / 2  Remainder : 0 , Quotient : 6
Step 3:   6 / 2  Remainder : 0 , Quotient : 3
Step 4:   3 / 2  Remainder : 1 , Quotient : 1
Step 5:   1 / 2  Remainder : 1 , Quotient : 0

So equivalent binary number is: 11001
That is (25)10 = (11001)2

6. Write a c program to convert octal number to hexadecimal number.
8. Write a c program to convert hexadecimal number to octal number.
9. Write a c program to convert hexadecimal number to decimal number.
10. Write a c program to convert binary number to octal number.

1. thanks to ur great effort........ur work has really been helpful to me n will always be grateful to u.....
thanks!
aayush.

2. truly i feel great to come here

3. I see your algorithm logic for this uses value 'remainder' and your code declares a variable long int remainder; but this is unused in the program? I'm not sure why!

4. Yes you are correct. No need to declare remainder. Thanks

5. This comment has been removed by the author.

6. What about negative decimal numbers as input, will it work?

7. what if the number has a fractional part?

1. wtf its actually a good question.

2. its simple we can just take decimal part and multiply by 2. take reminder again multiply by 2. Repeat until we get 0

8. how can i save the new binary number in a new array instead of printing it?

1. here binaryNumber[i++] is used for storing binary numbers

10. how can you convert a decimal array into binary one using recursion?
example:
(decimal) 1,2,3,4,5 => (binary)0001,0010, 0011, 0100, 0101

1. dude,send me the answer if u have got it.

11. plz answer to olga kuzmin's question..

12. thanks a lot sir! it helps me a lot!

13. What if the decimal number is 0? It won't enter the loop

14. @olga====apply the conversion code in a for loop that trace throufh the array

15. There is one 0 (zero) more than should be,in the code(last FOR):

for(j = i -1 ;j> 0;j--)

there should be J>1 not 0.

16. were should i put the clrscr(); ??? thanks

17. Hello dear!!,
you here printing one by one number. But when you should print it as a number!! Suppose, you need to use the binary conversion as a number,then your logic does not work.
Thanks.

18. megha agrawal12/13/13, 5:20 PM

#include
#include
int main()
{ long int decimal,binr=0;
int bin=0,rem,i;
printf("enter the decimal number:");
scanf("%ld",&decimal);
for(i=1;decimal!=0;i++)
{ rem=decimal%2;
binr= binr*10 +rem;
decimal=decimal/2;

}
for(i=0;binr!=0;i++)
{ rem = binr%10;
bin= bin*10 +rem ;
binr=binr/10;
}
printf("the binary equivalent is: %ld",bin);
getch();
return 0;
}
This is a code with0ut using a array and can be used for decimal to octal num also anly the change is to make 8, where 2 is written.

19. #include
void binary(int );
int main()
{
int n;
scanf("%d",&n);
binary(n);
return 0;
}
void binary(int p)
{
if(p==1)
printf("1");
else
{
binary(p/2);
printf("%d",p%2);
}
}

20. Hey, quick question about the value of i. Should the value of i be 100 and not 1. If it 1, the for loop with j would give an error? I'm confused about that.

1. Nevermind. I got the point! Thanks!

21. how to write a program to print the boundary of a matrix

22. why do i get this and each number of the binary is in a different line and how to fix it
for instance the number 4 shows as
1
0
0

23. #include
#include
#define CHK_BIT(num,pos) (num&(0x01<<(pos-1)))
void dec2bin(int num);
main(){
int num;
printf("Enter the Number");
scanf("%d",&num);
dec2bin(num);
}

void dec2bin(int num){
int i;
for(i=31; i>0; i--){
if(CHK_BIT(num,i))
printf("1");
else
printf("0");
}
printf("\n");
}

24. Write a program to Convert i) Decimal to Binary ii) Binary to Decimal number at kao paro ?

25. #include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;
int main()
{
int i=2;
int n,a;
cout<<"enter a decimal number"<<"\n";
cin>>n;
int arr[32];
if(n>0)
{
arr[0]=0;
}
else
{
arr[0]=1;
}
if(arr[0]==1)
{
n=n/-1;
}
a=n;
while(a>1)
{

arr[i]=n%2;
a=a/2;
n=a;
i=i+1;
};
arr[1]=1;
for(int j=i;j<32;j++)
{
arr[j]=0;
}
cout<<"the given array is"<<"\n";
cout<<arr[0]<<arr[1];
for(int j=2;j<32;j++)
{
cout<<arr[j];
}

return 0;
}

26. #include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;
int main()
{
int i=2;
int n,a;
cout<<"enter a decimal number"<<"\n";
cin>>n;
int arr[32];
if(n>0)
{
arr[0]=0;
}
else
{
arr[0]=1;
}
if(arr[0]==1)
{
n=n/-1;
}
a=n;
while(a>1)
{

arr[i]=n%2;
a=a/2;
n=a;
i=i+1;
};
arr[1]=1;
for(int j=i;j<32;j++)
{
arr[j]=0;
}
cout<<"the given array is"<<"\n";
cout<<arr[0]<<arr[1];
for(int j=2;j<32;j++)
{
cout<<arr[j];
}

return 0;
}

27. This comment has been removed by the author.

28. the code will not work for negative decimal numbers & also for decimal numbers with fraction part..!!

29. #include
int i=0;
int reminder[100];
binary(int decimal)
{
if(decimal==0)
{
reminder[i++]=decimal;
}
else if(decimal==1)
{
reminder[i++]=decimal;
}
else
{
reminder[i++]=decimal%2;
decimal=decimal/2;
binary(decimal);
}
}
int main()
{
int decimal,j;
printf("Enter a decimal number :");
scanf("%d",&decimal);
binary(decimal);
for(j=i-1;j>=0;j--)
printf("%d",reminder[j]);
return 0;
}

30. This comment has been removed by the author.

31. This comment has been removed by the author.

32. HI can i use dynamic memory to solve this problem?Is this approach considered appropriate? And ofcourse, i have written the program in c++ instead of c. But i only wanted to confirm if this approach is legible.
#include
#include
using namespace std;

int to_binary(int num){
bool *binary_sequence;

if (num==1) return 1;
else if(!num)return 0;
int counter=0;
while (num>1){
if (counter==0)
{
binary_sequence=new bool[counter+1];
binary_sequence[0]=num%2;
}
else
{
bool temp[counter];
for(int i=0;i=0;index--)
{
result=result=result*10;
result=result+binary_sequence[index];

}

delete [] binary_sequence;
return result;
}
int main()
{
int n;
cout<<"Enter any number "<>n;
cout<<"Binary equivalent "<<endl;
cout<<to_binary(n);
getche();
return 0;
}

33. This comment has been removed by the author.

34. I am really very agree with your qualities it is very helpful for look like home. Thanks so much for info and keep it up.
fx indicator

35. Nicely presented information in this post, I prefer to read this kind of stuff. The quality of content is fine and the conclusion is good. Thanks for the post.
top stock options school

36. Thanks for your refreshingly straight talk on this amazing topic .