Skip to main content

count_ones

Function count_ones 

Source
pub fn count_ones(n: u64) -> u32
Expand description

Sonda nechta 1 biti bor (population count) — Brian Kernighan usuli.

G’oya: n & (n - 1) amali eng past 1 bitni o’chiradi. Demak, tsikl nechta 1 bit bo’lsa, shuncha marta aylanadi (32/64 marta emas!).

  • Time: O(bitlar soni), amalda u64::count_ones() protsessor buyrug’i.

§Misol

use rust_algorithms::numbers::count_ones;

assert_eq!(count_ones(0b1011), 3);
assert_eq!(count_ones(0), 0);