@harut997
начинающий веб-разработчик

Как определить, является ли число степенью двойки на javascript с помощью цикла while?

Как определить, является ли число степенью двойки на javascript с помощью цикла while?
задать число и что бы выводилось true или false если данное число 2 в степени или нет, заранее блогадарен
  • Вопрос задан
  • 2034 просмотра
Пригласить эксперта
Ответы на вопрос 2
Alexandroppolus
@Alexandroppolus
кодир
для чисел до 2^31 можно и без цикла

const isPower2 = n => (n & (n-1)) === 0

вариант для длинной арифметики
const isPower2b = n => (n & (n - 1n)) === 0n;

alert(isPower2b(147573952589676412928n));
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
(8).toString(2).replace(/0/g, '') == 1;  // true степень двойки
(17).toString(2).replace(/0/g, '') == 1; // false
(32).toString(2).replace(/0/g, '') == 1; // true степень двойки


Поясню, пожалуй. В двоичном представлении чисел, являющихся степенью двойки лишь одна единица. Это и проверяем.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 02:11
5000 руб./за проект
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект