До меня не доходит правильное решение. Или тема раскрыта криво или Правильное решение от разработчиков некорректно составлено? Где в правильном решении от разработчиков строка: int result = 2; которая заложена в условии? Почему там return 1 << power; и где вообще в правильном решении фигурирует цифра 2, которая нам дана по условию задачи? и как в этой задаче реализуется логика из объяснения в лекции: "16 = это 2^4. Значит нужно сдвинуть число на 4 разряда влево"? Но ведь если мы 16 сдвинем на четыре разряда влево (т.е. 1 0000 сдвинуть на четыре разряда влево будет 1 0000 0000 что действительно так и есть), а согласно этой логике, 2 в 3-ей степени = 8, значит число нужно сдвинуть на три разряда? Но тогда 0010 сдвигаем на 3 разряда и получаем 1 000, а это уже 16 в десятичной системе. Но мы-то знаем, что 2 в 3 степени будет 8... И в чем тут правда? Объясните, пожалуйста, логику, которая приводится в лекции?