Метод count_zeros
Метод count_zeros подсчитывает, сколько битов
в двоичном представлении числа равны нулю. Он
возвращает значение типа u32 - количество
нулевых битов. Метод не принимает параметров и
вызывается у значения типа i32.
Синтаксис
i32.count_zeros()
Пример
Давайте подсчитаем количество нулевых битов в числе
0. Поскольку все 32 бита равны нулю, метод
должен вернуть 32:
fn main()
{
let res = 0i32.count_zeros();
println!("{}", res);
}
Результат выполнения кода:
32
Пример
Давайте подсчитаем количество нулевых битов в числе
1. В двоичном виде это 00000000 00000000
00000000 00000001, поэтому метод вернёт 31:
fn main()
{
let res = 1i32.count_zeros();
println!("{}", res);
}
Результат выполнения кода:
31
Пример
Давайте подсчитаем количество нулевых битов в
отрицательном числе -1. В дополнительном коде
все биты равны единице, поэтому метод вернёт 0:
fn main()
{
let res = (-1i32).count_zeros();
println!("{}", res);
}
Результат выполнения кода:
0
Смотрите также
-
метод
count_ones,
который подсчитывает количество единичных битов -
метод
leading_zeros,
который подсчитывает количество ведущих нулей -
метод
trailing_zeros,
который подсчитывает количество замыкающих нулей -
класс
i32,
который представляет 32-битное целое число