Подскажите в чем тут дело? Я конечно скопировал из предыдущего вопроса код, но во-первых его не принимает валидатор- говорит можно использовать только разрешенные операции, а во-вторых вообще не понимаю что тут и почему. Может кто то объяснить что и зачем тут делается?
package com.javarush.task.task30.task3013;
/*
Набираем код
*/
public class Solution {
public static void main(String[] args) {
Solution solution = new Solution();
int number = Integer.MAX_VALUE - 133;
//int number = 1073741824;
System.out.println(Integer.toString(number, 2));
String result = Integer.toString(solution.resetLowerBits(number), 2);
System.out.println(result);
}
public int resetLowerBits(int number) {
//напишите тут ваш код
number |= (number >> 1);
number |= (number >> 2);
number |= (number >> 4);
number |= (number >> 8);
number |= (number >> 16);
return number - (number >> 1);
}
}