如何打印带有前导零的二进制整数?

2024-04-30

我正在做一些摆弄,我想打印我的 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(使用前将#替换为@)

如何打印带有前导零的二进制整数? 的相关文章

随机推荐