Rust本机不支持任意大小的整数类型,如
u24
或
i7
作为其标准库的一部分。但是,您可以使用现有的整数类型和小心的操作来模拟此类类型,以确保只使用相关的位。例如,您可以使用
u32
表示
u24
通过确保只使用较低的24位。
以下是如何定义和使用
u24
Rust中的类型:
struct U24(u32);
impl U24 {
fn new(value: u32) -> Self {
U24(value & 0x00FF_FFFF)
}
fn get(&self) -> u32 {
self.0
}
// Add other methods as needed, ensuring that you mask the upper bits as appropriate.
}
fn main() {
let a = U24::new(0x123456);
let b = U24::new(0x654321);
// Example operation: addition
let sum = U24::new(a.get() + b.get());
println!("Sum: {:X}", sum.get());
}
对于复杂或性能关键的应用程序,您可能需要查看以下板条箱
bitvec
这允许对单个比特进行更直接的控制,并且可以用于模拟任意比特长度的整数。
试试代码
here