Мне любопытно, что ($value & ($value - 1)) != 0
говорит о том, что как работает в приведенной ниже проверке, чтобы узнать число, это степень 2?!
function ($attribute, $value, $fail) {
if ($value == 0 || ($value & ($value - 1)) != 0) {
$fail($attribute . ' is not power of 2!');
}
}
Если я хотел бы получить числа между числами степени 2 в дополнение кСтепень 2 числа, что мне делать?я могу использовать и изменить эту команду?(например, цифры: 1,2,3,4,6,8,12,16, ...)