# Java Program for Decimal to Binary Conversion

• Difficulty Level : Easy
• Last Updated : 17 Oct, 2021

Given a decimal number as input, we need to write a program to convert the given decimal number into an equivalent binary number.

Examples:

```Input : 7
Output : 111
s
Input : 10
Output : 1010

Input: 33
Output: 100001```

Binary to decimal conversion is done to convert a number given in the binary system to its equivalent in the decimal number system. A number system is a format to represent numbers in a certain way.

Binary Number System – The binary number system is used in computers and electronic systems to represent data, and it consists of only two digits which are 0 and 1.

Decimal Number System – The decimal number system is the most commonly used number system worldwide, which is easily understandable to people. It consists of digits from 0 to 9.

### Approaches

There are numerous approaches to convert the given decimal number into an equivalent binary number in Java. A few of them are listed below.

• Using Arrays
• Using Bitwise Operators
• Using Math.pow() Function (Without using arrays)

### 1. Using Arrays

#### Algorithm:

1. Store the remainder when the number is divided by 2 in an array.
2. Divide the number by 2
3. Repeat the above two steps until the number is greater than zero.
4. Print the array in reverse order now.

The below diagram shows an example of converting the decimal number 17 to an equivalent binary number. ## Java

 `// Java program to convert a decimal``// number to binary number``import` `java.io.*;`` ` `class` `GFG ``{``    ``// function to convert decimal to binary``    ``static` `void` `decToBinary(``int` `n)``    ``{``        ``// array to store binary number``        ``int``[] binaryNum = ``new` `int``[``1000``];``  ` `        ``// counter for binary array``        ``int` `i = ``0``;``        ``while` `(n > ``0``) ``        ``{``            ``// storing remainder in binary array``            ``binaryNum[i] = n % ``2``;``            ``n = n / ``2``;``            ``i++;``        ``}``  ` `        ``// printing binary array in reverse order``        ``for` `(``int` `j = i - ``1``; j >= ``0``; j--)``            ``System.out.print(binaryNum[j]);``    ``}``     ` `    ``// driver program``    ``public` `static` `void` `main (String[] args) ``    ``{``        ``int` `n = ``17``;``          ``System.out.println(``"Decimal - "` `+ n);``        ``System.out.print(``"Binary - "``);``          ``decToBinary(n);``    ``}``}`` ` `// Contributed by Pramod Kumar`

Output

```Decimal - 17
Binary - 10001```

### 2. Using  Bitwise Operators

We can use bitwise operators to do the above job.

Note – Bitwise operators work faster than arithmetic operators used above.

## Java

 `// Java program to Decimal to binary conversion``// using bitwise operator``// Size of an integer is assumed to be 32 bits`` ` `class` `gfg {``    ``// Function that convert Decimal to binary``    ``public` `void` `decToBinary(``int` `n)``    ``{``        ``// Size of an integer is assumed to be 32 bits``        ``for` `(``int` `i = ``31``; i >= ``0``; i--) {``            ``int` `k = n >> i;``            ``if` `((k & ``1``) > ``0``)``                ``System.out.print(``"1"``);``            ``else``                ``System.out.print(``"0"``);``        ``}``    ``}``}`` ` `class` `geek {``    ``// driver code``    ``public` `static` `void` `main(String[] args)``    ``{``        ``gfg g = ``new` `gfg();``        ``int` `n = ``32``;``          ``System.out.println(``"Decimal - "` `+ n);``         ``System.out.print(``"Binary - "``);``        ``g.decToBinary(n);``    ``}``}``// This code is contributed by mits`

Output

```Decimal - 32
Binary - 00000000000000000000000000100000```

### 3. Using Math.pow() method (Without using Arrays)

Decimal to binary conversion can also be done without using arrays.

## Java

 `// Java implementation of the approach``import` `java.io.*;`` ` `class` `GFG {`` ` `    ``// Function to return the binary``    ``// equivalent of decimal value N``    ``static` `int` `decimalToBinary(``int` `N)``    ``{`` ` `        ``// To store the binary number``        ``int` `B_Number = ``0``;``        ``int` `cnt = ``0``;``        ``while` `(N != ``0``) {``            ``int` `rem = N % ``2``;``            ``double` `c = Math.pow(``10``, cnt);``            ``B_Number += rem * c;``            ``N /= ``2``;`` ` `            ``// Count used to store exponent value``            ``cnt++;``        ``}`` ` `        ``return` `B_Number;``    ``}`` ` `    ``// Driver code``    ``public` `static` `void` `main(String[] args)``    ``{`` ` `        ``int` `N = ``17``;``          ``System.out.println(``"Decimal - "` `+ N);``          ``System.out.print(``"Binary - "``);``        ``System.out.println(decimalToBinary(N));``    ``}``}`` ` `// This code is contributed by ajit.`

Output

```Decimal - 17
Binary - 10001```

Please refer complete article on Program for Decimal to Binary Conversion for more details!

My Personal Notes arrow_drop_up