Python如何打印带前导零的二进制值 不使用bin()函数
实现方法
Python的整数类型本身不存储输入时的前导零信息,0b010和0b10本质都对应整数2,因此需要通过指定输出位数的方式补全前导零,以下是符合要求的实现方案:
- 固定3位输出格式化写法
在格式说明符中加入前导零标记和总宽度即可实现补零效果,无需调用bin()函数:
binary = 0b010 print("{:03b}".format(binary))
运行输出结果为:010
- f-string简化写法(Python 3.6及以上版本适用)
语法更简洁,效果和上述写法完全一致:
binary = 0b010 print(f"{binary:03b}")
- 动态位数适配方案
如果需要适配不同长度的二进制输出,可以提前存储指定位数字段,动态设置补零长度:
binary_val = 0b010 expect_length = 3 print(f"{binary_val:0{expect_length}b}")
内容的提问来源于stack exchange,提问作者LLocas
相关产品推荐
相关产品推荐

