Binary numbers of N digits Last Updated : 13 Jan, 2022 Summarize Comments Improve Suggest changes Share Like Article Like Report Given a positive integer number N. The task is to generate all the binary numbers of N digits. These binary numbers should be in ascending order. Examples: Input: 2Output:00011011Explanation: These 4 are the only binary numbers having 2 digits. Input: 3Output:0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1 Approach: For any digit length N, there will be 2N binary numbers. Therefore traverse from 0 to 2N and convert every number to binary.Store each number and print it at the end. Below is the implementation of the above approach. C++ // C++ code to implement above approach #include <bits/stdc++.h> using namespace std; // Function to convert number // to binary of N bits vector<int> convertToBinary(int num, int length) { // Vector to store the number vector<int> bits(length, 0); if (num == 0) { return bits; } int i = length - 1; while (num != 0) { bits[i--] = (num % 2); // Integer division // gives quotient num = num / 2; } return bits; } // Function to generate all // N bit binary numbers vector<vector<int> > getAllBinary(int n) { vector<vector<int> > binary_nos; // Loop to generate the binary numbers for (int i = 0; i < pow(2, n); i++) { vector<int> bits = convertToBinary(i, n); binary_nos.push_back(bits); } return binary_nos; } // Driver code int main() { int N = 3; vector<vector<int> > binary_nos = getAllBinary(N); for (int i = 0; i < binary_nos.size(); i++) { for (int j = 0; j < binary_nos[i].size(); j++) cout << binary_nos[i][j]; cout << endl; } return 0; } Java // Java code for the above approach import java.io.*; class GFG { // Function to convert number // to binary of N bits static int[] convertToBinary(int num, int length) { // Vector to store the number int[] bits = new int[length]; if (num == 0) { return bits; } int i = length - 1; while (num != 0) { bits[i--] = (num % 2); // Integer division // gives quotient num = num / 2; } return bits; } // Function to generate all // N bit binary numbers static int[][] getAllBinary(int n) { int[][] binary_nos = new int[(int)Math.pow(2,n)][]; int k = 0; // Loop to generate the binary numbers for (int i = 0; i < Math.pow(2, n); i++) { int[] bits = convertToBinary(i, n); binary_nos[k++]= bits; } return binary_nos; } // Driver code public static void main (String[] args) { int N = 3; int[][] binary_nos = getAllBinary(N); for (int i = 0; i < binary_nos.length; i++) { for (int j = 0; j < binary_nos[i].length; j++) System.out.print(binary_nos[i][j]); System.out.println(); } } }; // This code is contributed by Potta Lokesh Python3 # Python 3 code to implement above approach # Function to convert number # to binary of N bits def convertToBinary(num, length): # Vector to store the number bits = [0]*(length) if (num == 0): return bits i = length - 1 while (num != 0): bits[i] = (num % 2) i -= 1 # Integer division # gives quotient num = num // 2 return bits # Function to generate all # N bit binary numbers def getAllBinary(n): binary_nos = [] # Loop to generate the binary numbers for i in range(pow(2, n)): bits = convertToBinary(i, n) binary_nos.append(bits) return binary_nos # Driver code if __name__ == "__main__": N = 3 binary_nos = getAllBinary(N) for i in range(len(binary_nos)): for j in range(len(binary_nos[i])): print(binary_nos[i][j], end="") print() # This code is contributed by ukasp. C# // C# code for the above approach using System; using System.Collections.Generic; public class GFG { // Function to convert number // to binary of N bits static List<int> convertToBinary(int num, int length) { // List to store the number List<int> bits = new List<int>(); if (num == 0) { bits.Add(0); bits.Add(0); bits.Add(0); return bits; } int i = length - 1; while (num != 0) { bits.Add(num % 2); // int division // gives quotient num = num / 2; } while(bits.Count<3) bits.Add(0); return bits; } // Function to generate all // N bit binary numbers static List<List<int>> getAllBinary(int n) { List<List<int>> binary_nos = new List<List<int>>(); // Loop to generate the binary numbers for (int i = 0; i < Math.Pow(2, n); i++) { List<int> bits = convertToBinary(i, n); binary_nos.Add(bits); } return binary_nos; } // Driver code public static void Main(String[] args) { int N = 3; List<List<int>> binary_nos = getAllBinary(N); foreach(var st in binary_nos){ foreach(var s in st){ Console.Write(s); } Console.WriteLine(); } } } // This code is contributed by Rajput-Ji JavaScript <script> // JavaScript code to implement above approach // Function to convert number // to binary of N bits const convertToBinary = (num, length) => { // Vector to store the number let bits = new Array(length).fill(0); if (num == 0) { return bits; } let i = length - 1; while (num != 0) { bits[i--] = (num % 2); // Integer division // gives quotient num = parseInt(num / 2); } return bits; } // Function to generate all // N bit binary numbers const getAllBinary = (n) => { let binary_nos = []; // Loop to generate the binary numbers for (let i = 0; i < parseInt(Math.pow(2, n)); i++) { let bits = convertToBinary(i, n); binary_nos.push(bits); } return binary_nos; } // Driver code let N = 3; let binary_nos = getAllBinary(N); for (let i = 0; i < binary_nos.length; i++) { for (let j = 0; j < binary_nos[i].length; j++) document.write(binary_nos[i][j]); document.write("<br/>"); } // This code is contributed by rakeshsahni </script> Output000 001 010 011 100 101 110 111 Time Complexity: O(2N)Auxiliary Space: O(2N) Comment More infoAdvertise with us Next Article Count of Binary Digit numbers smaller than N C code_r Follow Improve Article Tags : Bit Magic Mathematical DSA number-digits binary-representation +1 More Practice Tags : Bit MagicMathematical Similar Reads Count of Binary Digit numbers smaller than N Given a limit N, we need to find out the count of binary digit numbers which are smaller than N. Binary digit numbers are those numbers that contain only 0 and 1 as their digits, like 1, 10, 101, etc are binary digit numbers. Examples: Input : N = 200 Output : 7 Count of binary digit number smaller 6 min read Generate Binary Numbers from 1 to n Given a number n, write a function that generates and prints all binary numbers with decimal values from 1 to n. Examples: Input: n = 2Output: 1, 10Explanation: The first two non-zero numbers with digits as 0 and 1 onlyInput: n = 5Output: 1, 10, 11, 100, 101[Simple Approach] Using Bit ManipulationWe 5 min read Count unset bits of a number Given a number n, count unset bits after MSB (Most Significant Bit).Examples : Input : 17 Output : 3 Binary of 17 is 10001 so unset bit is 3 Input : 7 Output : 0 A Simple Solution is to traverse through all bits and count unset bits. C++ // C++ program to count unset bits in an integer #include < 7 min read Binary representation of a given number Given an integer n, the task is to print the binary representation of the number. Note: The given number will be maximum of 32 bits, so append 0's to the left if the result string is smaller than 30 length.Examples: Input: n = 2Output: 00000000000000000000000000000010Input: n = 0Output: 000000000000 6 min read Count of N-bit binary numbers without leading zeros Given an integer N, the task is to find the count of N-bit binary numbers without leading zeros.Examples: Input: N = 2 Output: 2 10 and 11 are the only possible binary numbers.Input: N = 4 Output: 8 Approach: Since the numbers cannot have leading zeros so the left-most bit has to be set to 1. Now fo 2 min read Generate all the binary number from 0 to n Given a positive integer number n generate all the binary number from 0 to n. Examples: Input : 5 Output : 0 1 10 11 100 101 Binary numbers are 0(0), 1(1), 2(10), 3(11), 4(100) and 5(101). Input : 10 Output : 0 1 10 11 100 101 110 111 1000 1001 1010 This program simple use predefined function (itoa( 6 min read Like