在python中将整数转换为二进制

新手上路,请多包涵

为了将整数转换为二进制,我使用了这段代码:

 >>> bin(6)
'0b110'

什么时候擦除’0b’,我用这个:

 >>> bin(6)[2:]
'110'

如果我想将 6 显示为 00000110 而不是 110 怎么办?

原文由 Smith 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 284
2 个回答
>>> '{0:08b}'.format(6)
'00000110'

只是为了解释格式化字符串的部分:

  • {} 将变量放入字符串
  • 0 在参数位置 0 取变量
  • : 添加此变量的格式化选项(否则它将表示十进制 6
  • 08 将数字格式化为左侧零填充的八位数字
  • b 将数字转换为其二进制表示

如果您使用的是 Python 3.6 或更高版本,您还可以使用 f-strings:

 >>> f'{6:08b}'
'00000110'

原文由 eumiro 发布,翻译遵循 CC BY-SA 4.0 许可协议

只是另一个想法:

 >>> bin(6)[2:].zfill(8)
'00000110'

通过 字符串插值 的更短方式( Python 3.6+ ):

 >>> f'{6:08b}'
'00000110'

原文由 mshsayem 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题