Binary representation of a given number - GeeksforGeeks

27 Dec, 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
Java
Python3
C#
Javascript
// C++ Program for the binary// representation of a given number#include <bits/stdc++.h>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 Codeint main(void){    bin(7);    cout << endl;    bin(4);} // This code is contributed by souravghosh0416
#include<stdio.h>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);}
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.
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.
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
<script>// JavaScript Program for the binary// representation of a given number    function bin(n)    {        let i;        document.write("0");        for (i = 1 << 30; i > 0; i = Math.floor(i/2))        {            if((n & i) != 0)            {                document.write("1");            }            else            {                document.write("0");            }        }    }         bin(7);    document.write("<br>");    bin(4);              // This code is contributed by rag2127     </script>
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
Java
Python3
C#
PHP
Javascript
// C++ Program for the binary// representation of a given number#include <bits/stdc++.h>using namespace std; void bin(unsigned n){    /* step 1 */    if (n > 1)        bin(n / 2);     /* step 2 */    cout << n % 2;} // Driver Codeint main(void){    bin(7);    cout << endl;    bin(4);} // This code is contributed// by Akanksha Rai
// C Program for the binary// representation of a given numbervoid bin(unsigned n){    /* step 1 */    if (n > 1)        bin(n / 2);     /* step 2 */    printf("%d", n % 2);} // Driver Codeint main(void){    bin(7);    printf("\n");    bin(4);}
// Java Program for the binary// representation of a given numberclass 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 Program for the binary# representation of a given number  def bin(n):     if n > 1:        bin(n//2)     print(n % 2, end="")  # Driver Codeif __name__ == "__main__":     bin(7)    print()    bin(4) # This code is contributed by ANKITRAI1
// C# Program for the binary// representation of a given numberusing 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// PHP Program for the binary// representation of a given numberfunction bin($n){    /* step 1 */    if ($n > 1)        bin($n/2);     /* step 2 */    echo ($n % 2);} // Driver codebin(7);echo ("\n");bin(4); // This code is contributed// by Shivi_Aggarwal?>
<script> // Javascript program for the binary// representation of a given numberfunction bin(n){         // Step 1    if (n > 1)        bin(parseInt(n / 2, 10));     // Step 2    document.write(n % 2);} // Driver codebin(7);document.write("</br>");bin(4); // This code is contributed by divyeshrabadiya07 </script>
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++
Java
Python3
C#
PHP
Javascript
// C++ implementation of the approach#include <bits/stdc++.h>using namespace std; // Function to convert decimal// to binary numbervoid bin(unsigned n){    if (n > 1)        bin(n >> 1);     printf("%d", n & 1);} // Driver codeint main(void){    bin(131);    printf("\n");    bin(3);    return 0;}
// 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*/
# 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 codebin(131)print()bin(3) # This code is contributed by PrinciRaj1992
// C# implementation of above approachusing 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// PHP implementation of the approach // Function to convert decimal// to binary numberfunction bin($n){    if ($n > 1)    bin($n>>1);         echo ($n & 1);} // Driver codebin(131);echo "\n";bin(3); // This code is contributed// by Akanksha Rai
<script>// JavaScript implementation of the approach // Function to convert decimal// to binary numberfunction bin(n){    if (n > 1)        bin(n >> 1);     document.write(n & 1);} // Driver code     bin(131);    document.write("<br>");    bin(3);  // This code is contributed by Surbhi Tyagi. </script>
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 <bits/stdc++.h>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.
1010
Video tutorial
YouTubeGeeksforGeeks502K subscribersBinary representation of a given number | GeeksforGeeksWatch laterShareCopy linkInfoShoppingTap to unmuteIf playback doesn't begin shortly, try restarting your device.You're signed outVideos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer.CancelConfirmMore videosMore videosSwitch cameraShareInclude playlistAn error occurred while retrieving sharing information. Please try again later.Watch on0:000:000:00 / 5:50•Live•<div class="player-unavailable"><h1 class="message">An error occurred.</h1><div class="submessage"><a href="https://www.youtube.com/watch?v=p0Vyq2_Q_uI" target="_blank">Try watching this video on www.youtube.com</a>, or enable JavaScript if it is disabled in your browser.</div></div>
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.This article is compiled by Narendra Kangralkar. 
TheNaiveKid
ankthon
ukasp
Shivi_Aggarwal
jit_t
princiraj1992
Akanksha_Rai
rishikagupta1999
shigupta1999
divyeshrabadiya07
divyesh072019
avanitrachhadiya2155
surbhityagi15
souravghosh0416
rag2127
mukesh07
arun singh
amitmachhiwal
tr_abhishek
Microsoft
Bit Magic
Microsoft
Bit Magic
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Cyclic Redundancy Check and Modulo-2 Division
Little and Big Endian Mystery
Program to find whether a given number is power of 2
Bit Fields in C
Add two numbers without using arithmetic operators
Find the element that appears once
Set, Clear and Toggle a given bit of a number in C
Josephus problem | Set 1 (A O(n) Solution)
C++ bitset and its application
1's and 2's complement of a Binary Number