我正在做一些小事,我想打印我的u16中的所有位.
let flags = 0b0000000000101100u16;
println!("flags: {:#b}", flags);
Run Code Online (Sandbox Code Playgroud)
这打印flags: 0b101100.
如何打印flags: 0b0000000000101100?
Rust有一组函数可以很容易地将十进制整数转换为十六进制字符串吗?我将字符串转换为整数没有问题,但我似乎无法弄清楚相反的情况.目前我所拥有的不起作用(可能有点令人厌恶)
编者注 - 此代码早于Rust 1.0,不再编译.
pub fn dec_to_hex_str(num: uint) -> String {
let mut result_string = String::from_str("");
let mut i = num;
while i / 16 > 0 {
result_string.push_str(String::from_char(1, from_digit(i / 16, 16).unwrap()).as_slice());
i = i / 16;
}
result_string.push_str(String::from_char(1, from_digit(255 - i * 16, 16).unwrap()).as_slice());
result_string
}
Run Code Online (Sandbox Code Playgroud)
我是在正确的轨道上,还是我在思考这一切?
rust ×2