Было бы не плохо условие к вопросу прикладывать, так и помогать легче станет.
Но в целом твоя задача раскурить что такое побитовые операции и как посредством битового сдвига возводить двойку в n-ую степень. Там есть эквивалент умножения на два, вот тебе и степень двойки.
Сейчас попробую объяснить. Ты скорее всего знаешь о двоичной системе счисления, она в вычислительной технике взята за основу, давай посмотрим как выглядят числа в этой системе:
У нас есть всего две цифры чтобы ими оперировать, 0 это 0, 1 это 1, а что дальше? Дальше идут комбинации. 2 будет представлена как 10, тройка как 11, четверка как 100 и так далее. Т.е. идёт такой себе перебор возможных комбинаций нулей и единиц слева-направо.
Теперь давай посмотрим чуть более наглядно.
1 - 0001
2 - 0010
3 - 0011
4 - 0100
5 - 0101
6 - 0110
7 - 0111
8 - 1000
Видишь тут некоторую закономерность? Посмотри внимательно на 1, 2, 4 и 8, легко видеть, что их представление просто сдвигается на 1 бит влево. Можно продолжить этот ряд и убедиться, что битовый сдвиг на 1 влево является эквивалентом умножения на 2.
Возьми другое число, тройку например. 0011, давай сдвинем его влево, получим 0110, и это действительно 6.
Аналогично работает деление, только сдвиг идёт вправо.
Теперь почитаем условие задачи, нам нужно реализовать метод, который возвращает степень двойки равную переданному в метод аргументу. Т.е. иначе говоря нам нужно умножить двойку саму на себя число раз равное переданному в метод аргументу. Вспомнив свойство битового сдвига легко видеть, что нам просто нужно сдвинуть единичку влево это самое число раз.
Почему именно единичку кстати? Ну тут стоит вспомнить свойства степеней. Любое число в степени 0 равно 1, любое число в первой степени равно самому себе.
Что мы и получим, 1 без сдвига (0 степень) это 1, единичка со сдвигом 1 вернёт двойку (первая степень) ну и так далее.
Спасибо! вроде понял, на бумаге я умею переводить из одной СС в другую и понимаю как это сделать, а вот по задачкам не всегда понятно, что конкретно нужно сделать.
Геральт из РивииРоланд из ГалаадаДенис из Киева...