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

新手上路,请多包涵

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

 >>> bin(6)
'0b110'

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

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

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

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

阅读 283
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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题