我正在做一些摆弄,我想打印我的 u16 中的所有位。
let flags = 0b0000000000101100u16;
println!("flags: {:#b}", flags);
这打印flags: 0b101100
.
我如何让它打印flags: 0b0000000000101100
?
let flags = 0b0000000000101100u16;
println!("flags: {:#018b}", flags);
The 018
宽度为 18 的零焊盘。该宽度包括0b
(长度=2)加上u16(长度=16)所以18 = 2 + 16
。它必须来between #
and b
.
Rust 的 fmt 文档解释了两者前导零 https://doc.rust-lang.org/std/fmt/#sign0 and 基数格式 https://doc.rust-lang.org/std/fmt/#formatting-traits,但不展示如何组合它们。
这是 u8、u16 和 u32:
// Width 0 8 16 24 32
// | | | | |
println!("{:#010b}", 1i8); // 0b00000001
println!("{:#018b}", 1i16); // 0b0000000000000001
println!("{:#034b}", 1i32); // 0b00000000000000000000000000000001
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)