Related Articles

# Binary representation of a given number

• Difficulty Level : Easy
• Last Updated : 26 Jul, 2021

Write a program to print Binary representation of a given number.

Source: Microsoft Interview Set-3

Method 1: Iterative
For any number, we can check whether its ‘i’th bit is 0(OFF) or 1(ON) by bitwise ANDing it with “2^i” (2 raise to i).

```1) Let us take number 'NUM' and we want to check whether it's 0th bit is ON or OFF
bit = 2 ^ 0 (0th bit)
if  NUM & bit >= 1 means 0th bit is ON else 0th bit is OFF

2) Similarly if we want to check whether 5th bit is ON or OFF
bit = 2 ^ 5 (5th bit)
if NUM & bit >= 1 means its 5th bit is ON else 5th bit is OFF.```

Let us take unsigned integer (32 bit), which consist of 0-31 bits. To print binary representation of unsigned integer, start from 31th bit, check whether 31th bit is ON or OFF, if it is ON print “1” else print “0”. Now check whether 30th bit is ON or OFF, if it is ON print “1” else print “0”, do this for all bits from 31 to 0, finally we will get binary representation of number.

## C++

 `// C++ Program for the binary``// representation of a given number``#include ``using` `namespace` `std;` `  ``void` `bin(``long` `n)``  ``{``    ``long` `i;``    ``cout << ``"0"``;``    ``for` `(i = 1 << 30; i > 0; i = i / 2)``    ``{``      ``if``((n & i) != 0)``      ``{``        ``cout << ``"1"``;``      ``}``      ``else``      ``{``        ``cout << ``"0"``;``      ``}``    ``}``  ``}` `// Driver Code``int` `main(``void``)``{``    ``bin(7);``    ``cout << endl;``    ``bin(4);``}` `// This code is contributed by souravghosh0416`

## C

 `#include``void` `bin(unsigned n)``{``    ``unsigned i;``    ``for` `(i = 1 << 31; i > 0; i = i / 2)``        ``(n & i) ? ``printf``(``"1"``) : ``printf``(``"0"``);``}` `int` `main(``void``)``{``    ``bin(7);``    ``printf``(``"\n"``);``    ``bin(4);``}`

## Java

 `public` `class` `GFG``{``  ``static` `void` `bin(``long` `n)``  ``{``    ``long` `i;``    ``System.out.print(``"0"``);``    ``for` `(i = ``1` `<< ``30``; i > ``0``; i = i / ``2``)``    ``{``      ``if``((n & i) != ``0``)``      ``{``        ``System.out.print(``"1"``);``      ``}``      ``else``      ``{``        ``System.out.print(``"0"``);``      ``}``    ``}``  ``}` `  ``// Driver code``  ``public` `static` `void` `main(String[] args)``  ``{``    ``bin(``7``);``    ``System.out.println();``    ``bin(``4``);``  ``}``}` `// This code is contributed by divyesh072019.`

## Python3

 `def` `bin``(n) :``    ` `    ``i ``=` `1` `<< ``31``    ``while``(i > ``0``) :``    ` `        ``if``((n & i) !``=` `0``) :``        ` `            ``print``(``"1"``, end ``=` `"")``        ` `        ``else` `:``            ``print``(``"0"``, end ``=` `"")``            ` `        ``i ``=` `i ``/``/` `2``            ` `bin``(``7``)``print``()``bin``(``4``)` `# This code is contributed by divyeshrabadiya07.`

## C#

 `using` `System;` `public` `class` `GFG{``    ``static` `void` `bin(``long` `n)``    ``{``        ``long` `i;``        ``Console.Write(``"0"``);``        ``for` `(i = 1 << 30; i > 0; i = i / 2)``        ``{``            ``if``((n & i) != 0)``            ``{``                ``Console.Write(``"1"``);``            ``}``            ``else``            ``{``                ``Console.Write(``"0"``);``            ``}``        ``}``    ``}``    ``// Driver code``    ``static` `public` `void` `Main (){``        ``bin(7);``        ``Console.WriteLine();``        ``bin(4);``    ``}``}``// This code is contributed by avanitrachhadiya2155`

## Javascript

 ``
Output

```00000000000000000000000000000111
00000000000000000000000000000100```

Method 2: Recursive
Following is recursive method to print binary representation of ‘NUM’.

```step 1) if NUM > 1
a) push NUM on stack
b) recursively call function with 'NUM / 2'
step 2)
a) pop NUM from stack, divide it by 2 and print it's remainder.```

## C++

 `// C++ Program for the binary``// representation of a given number``#include ``using` `namespace` `std;` `void` `bin(unsigned n)``{``    ``/* step 1 */``    ``if` `(n > 1)``        ``bin(n / 2);` `    ``/* step 2 */``    ``cout << n % 2;``}` `// Driver Code``int` `main(``void``)``{``    ``bin(7);``    ``cout << endl;``    ``bin(4);``}` `// This code is contributed``// by Akanksha Rai`

## C

 `// C Program for the binary``// representation of a given number``void` `bin(unsigned n)``{``    ``/* step 1 */``    ``if` `(n > 1)``        ``bin(n / 2);` `    ``/* step 2 */``    ``printf``(``"%d"``, n % 2);``}` `// Driver Code``int` `main(``void``)``{``    ``bin(7);``    ``printf``(``"\n"``);``    ``bin(4);``}`

## Java

 `// Java Program for the binary``// representation of a given number``class` `GFG {``    ``static` `void` `bin(``int` `n)``    ``{``        ``/* step 1 */``        ``if` `(n > ``1``)``            ``bin(n / ``2``);` `        ``/* step 2 */``        ``System.out.print(n % ``2``);``    ``}` `    ``// Driver code``    ``public` `static` `void` `main(String[] args)``    ``{``        ``bin(``7``);``        ``System.out.println();``        ``bin(``4``);``    ``}``}` `// This code is contributed``// by ChitraNayal`

## Python3

 `# Python3 Program for the binary``# representation of a given number`  `def` `bin``(n):` `    ``if` `n > ``1``:``        ``bin``(n``/``/``2``)` `    ``print``(n ``%` `2``, end``=``"")`  `# Driver Code``if` `__name__ ``=``=` `"__main__"``:` `    ``bin``(``7``)``    ``print``()``    ``bin``(``4``)` `# This code is contributed by ANKITRAI1`

## C#

 `// C# Program for the binary``// representation of a given number``using` `System;` `class` `GFG {` `    ``static` `void` `bin(``int` `n)``    ``{` `        ``// step 1``        ``if` `(n > 1)``            ``bin(n / 2);` `        ``// step 2``        ``Console.Write(n % 2);``    ``}` `    ``// Driver code``    ``static` `public` `void` `Main()``    ``{``        ``bin(7);``        ``Console.WriteLine();``        ``bin(4);``    ``}``}` `// This code is contributed ajit`

## PHP

 ` 1)``        ``bin(``\$n``/2);` `    ``/* step 2 */``    ``echo` `(``\$n` `% 2);``}` `// Driver code``bin(7);``echo` `(``"\n"``);``bin(4);` `// This code is contributed``// by Shivi_Aggarwal``?>`

## Javascript

 ``
Output
```111
100```

Method 3: Recursive using bitwise operator
Steps to convert decimal number to its binary representation are given below:

```step 1: Check n > 0
step 2: Right shift the number by 1 bit and recursive function call
step 3: Print the bits of number```

## C++

 `// C++ implementation of the approach``#include ``using` `namespace` `std;` `// Function to convert decimal``// to binary number``void` `bin(unsigned n)``{``    ``if` `(n > 1)``        ``bin(n >> 1);` `    ``printf``(``"%d"``, n & 1);``}` `// Driver code``int` `main(``void``)``{``    ``bin(131);``    ``printf``(``"\n"``);``    ``bin(3);``    ``return` `0;``}`

## Java

 `// Java implementation of the approach` `class` `GFG {` `    ``// Function to convert decimal``    ``// to binary number``    ``static` `void` `bin(Integer n)``    ``{``        ``if` `(n > ``1``)``            ``bin(n >> ``1``);` `        ``System.out.printf(``"%d"``, n & ``1``);``    ``}` `    ``// Driver code``    ``public` `static` `void` `main(String[] args)``    ``{``        ``bin(``131``);``        ``System.out.printf(``"\n"``);``        ``bin(``3``);``    ``}``}``/*This code is contributed by PrinciRaj1992*/`

## Python3

 `# Python 3 implementation of above approach` `# Function to convert decimal to``# binary number`  `def` `bin``(n):` `    ``if` `(n > ``1``):``        ``bin``(n >> ``1``)``    ``print``(n & ``1``, end``=``"")`  `# Driver code``bin``(``131``)``print``()``bin``(``3``)` `# This code is contributed by PrinciRaj1992`

## C#

 `// C# implementation of above approach``using` `System;` `public` `class` `GFG {` `    ``// Function to convert decimal``    ``// to binary number``    ``static` `void` `bin(``int` `n)``    ``{``        ``if` `(n > 1)``            ``bin(n >> 1);` `        ``Console.Write(n & 1);``    ``}` `    ``// Driver code``    ``public` `static` `void` `Main()``    ``{``        ``bin(131);``        ``Console.WriteLine();``        ``bin(3);``    ``}``}``/*This code is contributed by PrinciRaj1992*/`

## PHP

 ` 1)``    ``bin(``\$n``>>1);``    ` `    ``echo` `(``\$n` `& 1);``}` `// Driver code``bin(131);``echo` `"\n"``;``bin(3);` `// This code is contributed``// by Akanksha Rai`

## Javascript

 ``
Output
```10000011
11```

Method 4: Using Bitset of C++

We can use the bitset class of C++ to store the binary representation of any number (positive as well as a negative number). It offers us the flexibility to have the number of bits of our desire, like whether we want to have 32-bit binary representation of just an 8-bit representation of a number.

A complete guide to using bitset can be found on this gfg article LINK.

## C++

 `#include ``using` `namespace` `std;` `int` `main()``{` `    ``int` `n = 5, m = -5;``    ``bitset<8> b(n);``    ``bitset<8> b1(m);``    ``cout << ``"Binary of 5:"` `<< b << endl;``    ``cout << ``"Binary of -5:"` `<< b1 << endl;``    ``return` `0;``}`
```Output:
Binary of 5:00000101
Binary of -5:11111011```

Method 5: Inbuilt library of Python

## Python3

 `def` `binary(num):``    ``return` `int``(``bin``(num).split(``'0b'``)[``1``])` `if` `__name__ ``=``=` `"__main__"` `:``    ``x ``=` `10``    ``binary_x ``=` `binary(x)``    ``print``(binary_x)` `# This code is contributed by Rishika Gupta.`
Output
`1010`

https://youtu.be/p0Vyq2_Q_uI