Здравствуйте!
Решила эту задачу, но у меня получается 2^3 = 16, что неправильно, конечно же. Ведь 2 ^3 - это 8. Если поменять
result = result << (power - 1), то все сработает. Но я логически не понимаю, почему из степени вычитается единичка? Или ошибка в другом месте?
Спасибо!package com.javarush.task.pro.task08.task0813;
/*
Степень двойки
*/
public class Solution {
public static void main(String[] args) {
System.out.println(getPowerOfTwo(3));
}
public static int getPowerOfTwo(int power) {
int result = 2; //00000010 (2) << 3 = 00001000 (8)
result = result << power;
return result;
}
}