РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
348 of 1245 menu

Метод is_power_of_two

Метод is_power_of_two проверяет, является ли число степенью двойки. Он возвращает true, если число равно 2ⁿ для некоторого неотрицательного целого n, и false в противном случае. Метод не принимает параметров и работает с текущим значением числа типа i32.

Стоит помнить, что число 1 (2⁰) также является степенью двойки, а вот 0 и отрицательные числа степенями двойки не являются.

Синтаксис

i32.is_power_of_two()

Пример

Давайте проверим, является ли число 8 степенью двойки:

fn main() { let res = 8i32.is_power_of_two(); println!("{}", res); }

Результат выполнения кода:

true

Пример

Давайте проверим, является ли число 10 степенью двойки:

fn main() { let res = 10i32.is_power_of_two(); println!("{}", res); }

Результат выполнения кода:

false

Пример

Давайте проверим граничные случаи: число 1, число 0 и отрицательное число -4:

fn main() { println!("{}", 1i32.is_power_of_two()); println!("{}", 0i32.is_power_of_two()); println!("{}", (-4i32).is_power_of_two()); }

Результат выполнения кода:

true false false

Пример

Давайте найдём все степени двойки в диапазоне от 1 до 16:

fn main() { for i in 1..=16 { if i.is_power_of_two() { println!("{}", i); } } }

Результат выполнения кода:

1 2 4 8 16

Смотрите также

  • метод next_power_of_two,
    который возвращает следующую степень двойки
  • метод count_ones,
    который считает количество единичных битов
  • метод leading_zeros,
    который считает количество ведущих нулей
  • метод trailing_zeros,
    который считает количество замыкающих нулей
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить