4个版本 (破坏性)
使用旧的Rust 2015
0.4.0 | 2015年8月11日 |
---|---|
0.3.0 | 2015年6月15日 |
0.2.0 | 2015年6月7日 |
0.1.0 | 2015年6月5日 |
#10 在 #bitwise
96KB
886 行
Bigwise
这是一个Rust库,它提供了对固定大小、任意大缓冲区字节的位运算。
基本类型 u8
、u16
、u32
和 u64
非常有用,当需要一次性对多个位执行布尔代数(位运算)时。
此库补充了这些基本类型,包括后续的2的幂次大小:Bw128
、Bw256
等。这些类型都是 Copy
(即它们可以简单地作为原始内存复制),并且它们的实际大小就是它们名称中给出的大小(Bw256
占用256位)。如果您直接在栈上存储这些类型,可能会很快受到Rust默认栈大小的限制。如果您想让它们在堆上生存,不要忘记将值boxed!
如果提供的类型不够用,您可以通过创建一个指向 BwPair<X>
的别名来轻松地定义自己的类型。仅支持2的幂次大小。
示例
use bigwise::{Bigwise, Bw128};
let b1 = Bw128::from_bytes(&[0b00110110, 0b10001101]);
let b2 = b1 << 90;
let b3 = Bw128::full() >> 60;
let b4 = b1.rotate_right(5);
let b5 = (b2 & !b3) | b4;
print!("{:?}", b5);
依赖关系
~315–540KB