#no-std #bit #bit-manipulation #value #pos #8 #true

no-std bit

一个提供操作位和位域的辅助函数库

2 个版本

使用旧的 Rust 2015

0.1.1 2017年4月12日
0.1.0 2017年4月11日

#1277 in Rust 模式

Download history 861/week @ 2023-10-20 501/week @ 2023-10-27 779/week @ 2023-11-03 639/week @ 2023-11-10 618/week @ 2023-11-17 979/week @ 2023-11-24 796/week @ 2023-12-01 799/week @ 2023-12-08 750/week @ 2023-12-15 1036/week @ 2023-12-22 756/week @ 2023-12-29 436/week @ 2024-01-05 723/week @ 2024-01-12 562/week @ 2024-01-19 846/week @ 2024-01-26 395/week @ 2024-02-02

2,586 个月下载量
用于 10 个crate (9 直接)

MIT/Apache

7KB
104

crates.io version badge

bit 是一个库,提供了处理位和位域的有用辅助函数。目前它只是对 rust-bit-field crate 的重写,但计划增加更多功能。其中一些 可能 包括

  • 支持数组和切片。
  • bitflags 类的功能。

使用方法

添加到你的 Cargo.toml

[dependencies]
bit = "0.1"

并在你的代码中添加

extern crate bit;
use bit::BitIndex;

示例

extern crate bit;
use bit::BitIndex;

fn main() {
    let mut value = 0b11010110u8;

    // 8
    println!("{}", u8::bit_length());

    // true
    println!("{}", value.bit(1));

    // 0b10
    println!("{:#b}", value.bit_range(0..2));

    value
        .set_bit(3, true)
        .set_bit(2, false)
        .set_bit_range(5..8, 0b001);

    // 0b111010
    println!("{:#b}", value);
}

lib.rs:

此crate在方便的特质中添加了简单的位操作辅助函数。它还针对无符号原始类型实现了这些特质。

无运行时依赖