@willa_will
В Java можно использовать следующий код, чтобы проверить является ли число степенью двойки:
1 2 3 |
public static boolean isPowerOfTwo(int x) { return (x > 0) && ((x & (x - 1)) == 0); } |
Этот код работает следующим образом:
Пример использования:
1 2 3 4 5 6 |
int x = 8; if (isPowerOfTwo(x)) { System.out.println(x + " is a power of two"); } else { System.out.println(x + " is not a power of two"); } |
В этом примере будет выведено сообщение "8 is a power of two".
@willa_will
Для проверки числа на степень двойки в Java можно использовать следующий код:
1 2 3 4 5 6 |
public static boolean isPowerOfTwo(int number) { if (number <= 0) { return false; } return (number & (number - 1)) == 0; } |
В этом методе мы проверяем, является ли число отрицательным или нулевым (в этом случае это не степень двойки и мы возвращаем ложь). Затем мы выполняем побитовую операцию И между числом и числом, которое на единицу меньше него. Если результат этой операции равен нулю, то число является степенью двойки. Если же результат не равен нулю, то число не является степенью двойки.