Метод count_ones
Метод count_ones возвращает количество
битов, равных 1, в двоичном представлении
числа типа i32. Метод не принимает
параметров и возвращает значение типа u32 -
число единичных битов. Метод полезен при работе
с битовыми масками, флагами и низкоуровневыми
операциями.
Синтаксис
i32::count_ones(self) -> u32
Пример
Давайте подсчитаем количество единичных битов
в числе 5, которое в двоичном виде
представлено как 101:
fn main()
{
let res = 5_i32.count_ones();
println!("{}", res);
}
Результат выполнения кода:
2
Пример
Давайте подсчитаем количество единичных битов
в числе 255, которое в двоичном виде
представлено как 11111111:
fn main()
{
let res = 255_i32.count_ones();
println!("{}", res);
}
Результат выполнения кода:
8
Пример
Давайте подсчитаем количество единичных битов
в отрицательном числе -1, которое
в дополнительном коде состоит из всех единиц:
fn main()
{
let res = (-1_i32).count_ones();
println!("{}", res);
}
Результат выполнения кода:
32
Смотрите также
-
метод
count_zeros,
который подсчитывает количество нулевых битов -
метод
leading_zeros,
который подсчитывает количество ведущих нулей -
метод
trailing_zeros,
который подсчитывает количество конечных нулей -
метод
is_power_of_two,
который проверяет, является ли число степенью двойки