Не понимаю почему нужно минусовать цифру 1
(return 2 << (power - 1);)
Grigoriy
12 уровень
Не понимаю почему нужно минусовать цифру 1
Решен
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Maks_😴
10 апреля 2021, 21:46решение
+18
Shokhrukh Buronov
7 сентября 2021, 17:03
Спасибо!!!
0
Сергей
29 сентября 2021, 17:55
почему нужно минусовать цифру 1 ??????????????
0
velmik
17 февраля 2022, 05:55
вот я тоже не понимаю почему надо отнимать 1 ???
а как тогда понимать вот это объяснение в лекции по сдвигу влево:
"Сдвиг на один разряд влево дает тот же эффект, что и умножение числа на 2.
Хотите умножить число на 16 ? 16 = это 24. Значит нужно сдвинуть число на 4 разряда влево"
т.е при сдвиге влево на 1 разряд уже идет умножение на 2!
а мы получается отнимаем -1 а потом сдвигаем на 2 ?, вообщем если можно еще раз на пальцах объясните, может что-то не допонял или будет объяснение дальше!
Спасибо.
0
hidden #598481
17 февраля 2022, 09:34
так весь вопрос в том, откуда ты двигаешь.
если от двойки, то 2 это уже 2^1. От 2^1 до 2^4 всего 4-1=3 разряда.
Если от единицы двигать, то 1 = 2^0, и от 1 действительно 4 разряда. Выше иллюстрация есть. в комментарии
Поэтому 1 << power и 2 << (power -1) это одно и то же, а 2 == 1 << 1, то есть двойка получается из единицы сдвигом на 1 разряд.
+2
Anonymous #2484617 Backend Developer
10 апреля 2021, 21:43решение
Чтобы получить 2 в кубе, нужно двойку два раза сдвинуть влево. Так как аргумент равен 3, то нужно от него отнять единицу. В этом был вопрос?
+10
Константин Шаталин QA
25 июля 2021, 10:08
Спасибо
0