Метод next_power_of_two
Метод next_power_of_two возвращает
наименьшее число, являющееся степенью двойки,
которое больше или равно текущему значению
i32. Если число уже является степенью
двойки, метод вернёт его же. Если число
отрицательное или равно нулю, метод вернёт
1 (так как 1 = 2⁰ - минимальная
степень двойки для i32). Метод не принимает
параметров и возвращает значение типа
i32.
Синтаксис
i32::next_power_of_two(self) -> i32
Пример
Давайте найдём ближайшую степень двойки
для числа 10:
fn main()
{
let num: i32 = 10;
let res = num.next_power_of_two();
println!("{}", res);
}
Результат выполнения кода:
16
Пример
Давайте проверим поведение метода для числа,
которое уже является степенью двойки, например
для 8:
fn main()
{
let num: i32 = 8;
let res = num.next_power_of_two();
println!("{}", res);
}
Результат выполнения кода:
8
Пример
Давайте посмотрим, что вернёт метод для
отрицательного числа -5:
fn main()
{
let num: i32 = -5;
let res = num.next_power_of_two();
println!("{}", res);
}
Результат выполнения кода:
1
Смотрите также
-
метод
is_power_of_two,
который проверяет, является ли число степенью двойки -
метод
pow,
который возводит число в указанную степень -
метод
count_ones,
который считает количество единичных битов в числе -
метод
leading_zeros,
который считает количество ведущих нулей в бинарном представлении