Question: ```
// Compute integer powers of 2.
class Power {
  public static void main(String args[]) {
    int e;
    int result;

    for (int i = 0; i < 10; i++) {
      result = 1;
      e = i;

      while(e > 0) {
        result *= 2;
        e--;          // What is supposed to be decrementing and how???
      }

      System.out.println("2 to the " + i + 
                    " power is " + result);
    }
  }
}    

```

Why is there a decrement on the while loop, but when running the program it give the impression as it is incrementing. Its very confusing to me please may somebody explain how operates this While loop? 

> 
> C:\Users\enrique\Desktop\Hello.java>java Power  
> 
>  2 to the 0 power is 1  
> 
>  2 to the 1 power is 2  
> 
>  2 to the 2 power is 4  
> 
>  2 to the 3 power is 8  
> 
>  2 to the 4 power is 16  
> 
>  2 to the 5 power is 32  
> 
>  2 to the 6 power is 64  
> 
>  2 to the 7 power is 128  
> 
>  2 to the 8 power is 256  
> 
>  2 to the 9 power is 512 
> 
> 
>

Answer: 
`e` is the exponent and that while loop is doubling the value of the number until the exponent is less than or equal to 0.

It will remain the value of `i` unless it is decremented. 

You could also convert it into a for loop like so 

```
for (int e = i; e > 0; e--) { 
    result *= 2;
} 

```

I understand if this is a learning exercise, but the `Math.pow` function could do the same thing.
Explanation for the code you have In your question 

```
Loop i from 0 to n
  Set result =1 
   Loop from 1 <= i
      result = result * 2 // multiply 2 the number of times equal to i
  Print result
End loop

```