Skip to content
Related Articles

Related Articles

Improve Article

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

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

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

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
Recommended Articles
Page :