# Count total bits in a number

• Difficulty Level : Basic
• Last Updated : 27 May, 2022

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

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;``    ``std::cout<

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

 ``

## Javascript

 ``
Output
`7`

Time Complexity : O(logn)

Auxiliary Space : O(1)

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.``?>`

## Javascript

 ``
Output
`7`

Time Complexity : O(logn)

Auxiliary Space : O(1)

Method 3 ( Using conversion from binary to string)

## Python3

 `# function to count the number of bits in a number n``def` `count_bits(n):``  ``# bin(n) returns a binary string representation of n preceded by '0b' in python``  ``binary ``=` `bin``(n)``  ` `  ``# we did -2 from length of binary string to ignore '0b'``  ``return` `len``(binary)``-``2` `a ``=` `65``b ``=` `183` `print``(f``"Total bits in {a}: {count_bits(a)}"``)``print``(f``"Total bits in {b}: {count_bits(b)}"``)` `# This code is contributed by udit`
Output
```Total bits : 7
Total bits : 8```

Time Complexity : O(logn)

Auxiliary Space : O(1)

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