2个不稳定版本
0.2.0 | 2020年9月29日 |
---|---|
0.1.2 | 2020年2月17日 |
0.1.1 |
|
0.1.0 |
|
#173 in 无标准库
11,010 每月下载量
在 17 个包中使用 (直接使用2个)
14KB
330 行
intbits
轻松访问整数的单个位
use intbits::Bits;
assert_eq!(2.bit(0), false);
assert_eq!(2.bit(1), true);
assert_eq!(2.bit(2), false);
assert_eq!(0b1011u32.bits(0..2), 0b11);
assert_eq!(0b1011u32.bits(2..4), 0b10);
assert_eq!(0xFFu8.with_bit(3, false), 0xF7);
assert_eq!(0xFFu8.with_bits(4..8, 3), 0x3F);
查看文档。
lib.rs
:
此包提供两个函数来访问整数的单个位
.bit(i)
获取一个特定的位。.bits(i..j)
获取一系列位。
它还提供了类似的功能来更改整数的特定位
.set_bit(i, bit)
设置一个特定的位。.set_bits(i..j, bits)
设置一系列位。
这些变体返回一个新的整数,而不是修改它
示例
use intbits::Bits;
assert_eq!(2.bit(0), false);
assert_eq!(2.bit(1), true);
assert_eq!(2.bit(2), false);
assert_eq!(0b1011u32.bits(0..2), 0b11);
assert_eq!(0b1011u32.bits(2..4), 0b10);
assert_eq!(0xFFu8.with_bit(3, false), 0xF7);
assert_eq!(0xFFu8.with_bits(4..8, 3), 0x3F);