Rust如何使用标准库将十进制数转换为带前导零的16位二进制数
Rust标准库原生支持该需求,无需自行实现补零逻辑
你可以直接通过格式化控制符实现固定宽度的前导零补全二进制输出,修改你的代码如下即可:
let x: u16 = 21; println!("{}", format!("{:016b}", x)); // 输出:0000000000010101
格式控制符说明:
0:指定当输出内容长度不足总宽度时,使用0作为前导填充字符16:指定输出的总宽度为16位,刚好匹配u16类型的位数b:指定将数值按二进制格式输出
如果需要动态指定输出宽度,可以使用参数化的格式写法:
let x: u16 = 21; let target_width = 16; println!("{}", format!("{:0target_width$b}", x, target_width = target_width));
内容的提问来源于stack exchange,提问作者aRtoo
相关产品推荐
相关产品推荐

