# C program to convert decimal to binary number system using bitwise operator

Write a C program to input any decimal number from user and convert it to binary number system using bitwise operator. How to convert from decimal number system to binary number system using bitwise operator in C programming. Logic to convert decimal to binary using bitwise operator in C program.

Example

Input

```Input any number: 22
```

Output

`Binary number: 00000000000000000000000000010110`

## Required knowledge

Bitwise operators, Data types, Basic input/output, While loop, Array

Learn program to – convert decimal to binary without using bitwise operator.

## Logic to convert decimal to binary using bitwise operator

Step by step descriptive logic to convert decimal to binary number system.

1. Input a decimal number from user. Store it in some variable say num.
2. Declare an array of size required to store an integer in memory (i.e. 32 bits), say `bin[INT_SIZE];`.
3. Initialize another variable to store index, say `index = INT_SIZE - 1;`.
4. Run a loop from INT_SIZE to 0. Inside the loop assign Least Significant Bit to bin[index]. Perform `bin[index] = num & 1;`.
5. Decrement index by 1 and right shift num by 1.

## Program to convert decimal to binary using bitwise operator

``````/**
* C program to convert decimal to binary number system
*/

#include <stdio.h>
#define INT_SIZE sizeof(int) * 8 /* Size of int in bits */

int main()
{
int num, index, i;
int bin[INT_SIZE];

/* Input number from user */
printf("Enter any number: ");
scanf("%d", &num);

index = INT_SIZE - 1;

while(index >= 0)
{
/* Store LSB of num to bin */
bin[index] = num & 1;

/* Decrement index */
index--;

/* Right Shift num by 1 */
num >>= 1;
}

/* Print converted binary */
printf("Converted binary: ");
for(i=0; i<INT_SIZE; i++)
{
printf("%d", bin[i]);
}

return 0;
}``````

Output

```Enter any number: 22
Converted binary : 00000000000000000000000000010110```

Happy coding ðŸ˜‰