How to convert Decimal to Binary in C Program? [Complete Code]
If you are searching for inbuild function to convert the given integer value into binary format, let me clear it is not there. In fact, there is no boolean data type in C. So we have to convert decimal to Binary in C manually.
In many of the programming cases, you need to perform bitwise operations on the Binary format of an integer value. For example, you want to count a number of bits in the binary representation of the given number.
In C programming, to perform bit manipulation operations, many times, you need to convert the decimal number to binary number.
Here is a simple online tool to convert decimal to binary.
Now we want to write a C program for this conversion.
C Program to Convert Decimal to Binary:
Following is the code snippet that convert Decimal to Binary in C.
#include<stdio.h> //Function takes input as integer //and return integer value in binary format unsigned intToBin(unsigned k) { if (k == 0) return 0; if (k == 1) return 1; return (k % 2) + 10 * intToInt(k / 2); } void main() { int k = 34; char str[100] = {0}; printf("%d =%u",k,intToBin(k)); }
In this above code, I am using recursion programming technique. You can also use a loop and break statement.
Output:
100010
In this code for 34, you are getting the output as 100010.
Note: Both the input and output of the variable of the function intToBin()
are an integer data type. You can save the binary representation of the number either in an integer or a string data type variable.
This is one of the tricky questions asked in many job interview rounds. You can find out more such kind of questions in the list of complete coding interview questions.
There are so many methods you can use to convert decimal to an integer. If you have any doubt or if you can suggest any other efficient method of doing this conversion, discuss in the comment section below.