Related Articles
Count total bits in a number
• Difficulty Level : Basic
• Last Updated : 09 Nov, 2020

Given a positive number n, count total bit in it.

Examples:

Input : 13
Output : 4
Binary representation of 13 is 1101

Input  : 183
Output : 8

Input  : 4096
Output : 13

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Method 1 (Using Log)

The log2(n) logarithm in base 2 of n, which is the exponent to which 2 is raised to get n only integer and we add 1 find total bit in a number in log(n) time.

## C

 // C program to find total bit in given number #include        #include    unsigned countBits(unsigned int number) {             // log function in base 2        // take only integer part       return (int)log2(number)+1; }    // Driven program        int main() {     unsigned int num = 65;     printf("%d\n", countBits(num));     return 0; }

## Java

 // Java program to  // find total bit // in given number import java.io.*;    class GFG  {     static int countBits(int number)     {                     // log function in base 2          // take only integer part         return (int)(Math.log(number) /                       Math.log(2) + 1);     }            // Driver code     public static void main (String[] args)      {         int num = 65;                    System.out.println(countBits(num));                                        } }    // This code is contributed by vij

## Python3

 # Python3 program to find  # total bit in given number import math def countBits(number):            # log function in base 2      # take only integer part     return int((math.log(number) /                  math.log(2)) + 1);    # Driver Code num = 65; print(countBits(num));    # This code is contributed by mits

## C#

 // C# program to find total bit // in given number using System;    class GFG {            static uint countBits(uint number)     {                         // log function in base 2          // take only integer part         return (uint)Math.Log(number , 2.0) + 1;     }            // Driver code     public static void Main()      {         uint num = 65;                    Console.WriteLine(countBits(num));                                        } }    // This code is contributed by Sam007.

## PHP



Output:

7

Method 2 (Using Bit Traversal)

## C

 /* Function to get no of bits in binary    representation of positive integer */ #include                 unsigned int countBits(unsigned int n) {    unsigned int count = 0;    while (n)    {         count++;         n >>= 1;     }     return count; }     /* Driver program*/ int main() {     int i = 65;     printf("%d", countBits(i));     return 0; }

## Java

 /* Function to get no of bits in binary representation of positive integer */ class GFG {        static int countBits(int n)     {         int count = 0;         while (n != 0)         {             count++;             n >>= 1;         }                    return count;     }            /* Driver program*/     public static void main(String[] arg)     {         int i = 65;         System.out.print(countBits(i));     } }    // This code is contributed by Smitha.

## Python3

 # Function to get no of bits  # in binary representation  # of positive integer     def countBits(n):        count = 0     while (n):         count += 1         n >>= 1                return count    # Driver program i = 65 print(countBits(i))    # This code is contributed # by Smitha

## C#

 /* Function to get no of bits  in binary representation of  positive integer */ using System;    class GFG {     static int countBits(int n)     {         int count = 0;         while (n != 0)         {             count++;             n >>= 1;         }                    return count;     }            // Driver Code     static public void Main ()     {         int i = 65;         Console.Write(countBits(i));     } }    // This code is contributed  // by akt_mit.

## PHP

 >= 1;     }     return \$count; }    // Driver Code \$i = 65; echo(countBits(\$i));    // This code is contributed by Ajit. ?>

Output:

7

This article is contributed by Gyayak Jain. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.