Related Articles

# How to calculate log base 2 of an Integer in Java?

• Difficulty Level : Easy
• Last Updated : 13 May, 2020

Given an integer N, the task is to calculate its log to the base 2, i.e. log2 N in Java.

Examples:

```Input: N = 2
Output: 1

Input: 1024
Output: 10
```

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

Approach:

• Math class in Java (java.lang.Math) is a library which holds the functions to calculate such values, like sin(), cos(), log() etc. But the log() method in Math class calculates the log to the base 10. Hence there is no direct method in Java to calculate log to the base 2.
• But as we know that
`loga b = log10 b / log10 a`
• Therefore we can calculate log2 N indirectly as:
log2 N = log10 N / log10 2

Below is the implementation of the above approach:

 `// Java code to Calculate log base 2 of an integer`` ` `import` `java.io.*;``import` `java.lang.*;`` ` `class` `GFG {`` ` `    ``// Function to calculate the``    ``// log base 2 of an integer``    ``public` `static` `int` `log2(``int` `N)``    ``{`` ` `        ``// calculate log2 N indirectly``        ``// using log() method``        ``int` `result = (``int``)(Math.log(N) / Math.log(``2``));`` ` `        ``return` `result;``    ``}`` ` `    ``// Driver code``    ``public` `static` `void` `main(String[] args)``    ``{`` ` `        ``int` `N = ``1024``;`` ` `        ``System.out.println(``"Log "` `+ N``                           ``+ ``" to the base 2 = "``                           ``+ log2(N));``    ``}``}`
Output:
```Log 1024 to the base 2 = 10
```

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up