#bits #set-bit #bit-manipulation #iterator #flags #bit-set #bit

无需 std bit-iter

遍历字中设置位的位置,正向或反向

6 个版本 (稳定)

1.2.0 2023年8月24日
1.1.1 2022年5月18日
1.1.0 2021年11月12日
0.1.6 2021年9月29日
0.1.4 2021年6月23日

#402算法

Download history 1296/week @ 2024-04-29 988/week @ 2024-05-06 1459/week @ 2024-05-13 1071/week @ 2024-05-20 1077/week @ 2024-05-27 1399/week @ 2024-06-03 1101/week @ 2024-06-10 4296/week @ 2024-06-17 6152/week @ 2024-06-24 4941/week @ 2024-07-01 4876/week @ 2024-07-08 2644/week @ 2024-07-15 2787/week @ 2024-07-22 1083/week @ 2024-07-29 921/week @ 2024-08-05 863/week @ 2024-08-12

5,891 每月下载量
用于 4 crates

MIT 许可证

13KB
258

bit-iter

Test results Crates.io Documentation

遍历字中设置的位的位置,正向或反向。

BitIter 可以从任何整数值构建,并返回升序排列的 1 位的位置。

BitIter 实现 DoubleEndedIterator,因此您还可以以降序遍历设置位的位置。

示例

fn main() {
    use bit_iter::*;

    let x : u32 = 0x10001;

    for b in BitIter::from(x) {
        println!("Bit {} is set.", b);
    }

    println!("In reverse order:");

    for b in BitIter::from(x).rev() {
        println!("Bit {} is set.", b);
    }
}

输出

Bit 0 is set.
Bit 16 is set.
In reverse order:
Bit 16 is set.
Bit 0 is set.

最小支持的 Rust 版本 (MSRV) 政策

bit-iter 的当前最小支持的 Rust 版本 (MSRV) 为 1.53.0

bit-iter 保证使用该版本可编译。它可能也可以使用较旧版本编译,但这可能在未来的补丁版本中改变。

如果 bit-iter 的 MSRV 发生变化,那将在 次要 版本发布中完成(例如,1.2.x -> 1.3.0)。

无运行时依赖