Binary representation of a given number

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.

filter_none

edit
close

play_arrow

link
brightness_4
code

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);
}

chevron_right




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

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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);
}
  
int main(void)
{
    bin(7);
    printf("\n");
    bin(4);
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


Python 3

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP Program for the binary 
// representation of a given number
function bin($n)
{
    /* step 1 */
    if ($n > 1)
        bin($n/2);
  
    /* step 2 */
    echo ($n % 2);
}
  
// Driver code
bin(7);
echo ("\n");
bin(4);
  
// This code is contributed 
// by Shivi_Aggarwal
?>

chevron_right


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++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ implementation of the approach
#include<bits/stdc++.h>
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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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*/

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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*/

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP implementation of the approach
  
// Function to convert decimal
// to binary number
function bin($n)
{
    if ($n > 1)
    bin($n>>1);
      
    echo ($n & 1);
}
  
// Driver code
bin(131);
echo "\n";
bin(3);
  
// This code is contributed
// by Akanksha Rai

chevron_right



Output:

10000011
11

This article is compiled by Narendra Kangralkar. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



My Personal Notes arrow_drop_up