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

2022-01-09 00:00:00 python binary integer

问题描述

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

In order to convert an integer to a binary, I have used this code :

>>> bin(6)  
'0b110'

什么时候删除'0b',我用这个:

and when to erase the '0b', I use this :

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

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

What can I do if I want to show 6 as 00000110 instead of 110?


解决方案

>>> '{0:08b}'.format(6)
'00000110'

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

Just to explain the parts of the formatting string:

  • {} 将变量放入字符串中
  • 0 获取参数位置 0 处的变量
  • : 为该变量添加格式选项(否则它将表示十进制6)
  • 08 将数字格式化为 8 位数字,左侧补零
  • b 将数字转换为二进制表示
  • {} places a variable into a string
  • 0 takes the variable at argument position 0
  • : adds formatting options for this variable (otherwise it would represent decimal 6)
  • 08 formats the number to eight digits zero-padded on the left
  • b converts the number to its binary representation

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

If you're using a version of Python 3.6 or above, you can also use f-strings:

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

相关文章