Rust 按位转换为 u8
Rust bitwise into u8
我试过了,但没用。
let result: u8 = opcode & 0xff;
事情是 opcode & 0xff
总是 return 0 -> 255 中的某些东西,它总是适合 u8 但编译器会引发错误 expected u8 but found u16
。为什么 Rust 会引发错误?
Rust 不会在类型之间隐式转换,您必须使用 as
关键字明确转换:
let result = opcode as u8;
请注意,您可以省略 AND 运算符,as
关键字会在从较大类型转换时自动截断数字。
我试过了,但没用。
let result: u8 = opcode & 0xff;
事情是 opcode & 0xff
总是 return 0 -> 255 中的某些东西,它总是适合 u8 但编译器会引发错误 expected u8 but found u16
。为什么 Rust 会引发错误?
Rust 不会在类型之间隐式转换,您必须使用 as
关键字明确转换:
let result = opcode as u8;
请注意,您可以省略 AND 运算符,as
关键字会在从较大类型转换时自动截断数字。