# Count total bits in a number

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

## C#

## PHP

## Javascript

Output
`7`

Time Complexity : O(logn)

Auxiliary Space : O(1)

Method 3 ( Using conversion from binary to string)

## C++

 `// C++ program to implement the approach ``#include ``using` `namespace` `std; `` ` `// function to count the number of bits in a number n ``int` `count_bits(``int` `n) ``{ `` ` `  ``// to_string() returns the binary string  ``  ``// representation of the number n ``  ``string binary = bitset< 64 >(n).to_string(); ``   ` `  ``// returning the length of the binary string ``  ``return` `64 - binary.find(``'1'``); ``} `` ` `int` `main() ``{ ``    ``int` `a = 65; ``    ``int` `b = 183; `` ` `    ``cout << ``"Total bits in "` `<< a << ``" : "` `<< count_bits(a) << endl; ``    ``cout << ``"Total bits in "` `<< b << ``" : "` `<< count_bits(b) << endl; ``} `` ` `// This code is contributed by phasing17`

## Java

 `// Java code to implement the approach ``class` `GFG { `` ` `    ``// function to count the number of bits in a number n ``    ``static` `int` `count_bits(``int` `n) ``    ``{ ``        ``// return the length of the binary string ``        ``return` `Integer.toBinaryString(n).length(); ``    ``} `` ` `    ``// Driver Code ``    ``public` `static` `void` `main(String[] args) ``    ``{ ``        ``int` `a = ``65``; ``        ``int` `b = ``183``; `` ` `        ``// function call ``        ``System.out.printf(``"Total bits in %d: %d\n"``, a, ``                          ``count_bits(a)); ``        ``System.out.printf(``"Total bits in %d: %d\n"``, b, ``                          ``count_bits(b)); ``    ``} ``} `` ` `// this code is contributed by phasing17`

## Python3

## C#

## Javascript

 `// JavaScript program to implement the approach `` ` `// function to count the number of bits in a number n ``function` `count_bits(n) ``{ `` ` `  ``// toString(2) returns the binary string  ``  ``// representation of the number n ``  ``let binary = n.toString(2); ``   ` `  ``// returning the length of the binary string ``  ``return` `binary.length; ``} `` ` `let a = 65; ``let b = 183; `` ` `console.log(``"Total bits in"``, a, ``":"``, count_bits(a)); ``console.log(``"Total bits in"``, b, ``":"``, count_bits(b)); `` ` `// This code is contributed by phasing17`

Output
```Total bits : 7
Total bits : 8```

Time Complexity : O(logn)

Auxiliary Space : O(1)

Previous
Next