Divide with power of 2 without using pow() or / operator

Objective: Given a number n and k, Calculate n / k2 without using pow() or / operator.

Example:

N = 48, k = 4
N/k2 = 3

Approach: Bit Manipulation

  • Right shift the number N by k.
  • N = 48
  • Bit representation: 0 1 1 0 0 0 0
  • Right shift by k = 4
  • 0 1 1 which is the representation of 3.

Java Code:


Output:

Number 48 Divided by 2^4 is: 3

Read about –

__________________________________________________
Top Companies Interview Questions..-

Google Microsoft Amazon Facebook more..

If you find anything incorrect or you feel that there is any better approach to solve the above problem, please write comment.
__________________________________________________

  • lipsa patel

    The code seems to be incorrect, it’s multiply instead of divide and left shift instead of right shift

    public class MultiplyByPowerOf2 {
    // Left shift the number n by k.
    public static void multiply(int n, int k){
    System.out.print(“Number ” + n + ” Multiplied by 2^” + k +” is: “);
    System.out.println(n<<k);
    }
    public static void main(String[] args) {
    int n = 3;
    int k = 4;
    multiply(n,k);
    }
    }