为了将整数转换为二进制,我使用了以下代码:
>>> bin(6)
'0b110'
当删除'0b'时,我使用这个:
>>> bin(6)[2:]
'110'
如果我想显示6为00000110而不是110,我能做什么?
为了将整数转换为二进制,我使用了以下代码:
>>> bin(6)
'0b110'
当删除'0b'时,我使用这个:
>>> bin(6)[2:]
'110'
如果我想显示6为00000110而不是110,我能做什么?
当前回答
('0' * 7 + bin(6)[2:])[-8:]
or
right_side = bin(6)[2:]
'0' * ( 8 - len( right_side )) + right_side
其他回答
走老路总是管用的
def intoBinary(number):
binarynumber=""
if (number!=0):
while (number>=1):
if (number %2==0):
binarynumber=binarynumber+"0"
number=number/2
else:
binarynumber=binarynumber+"1"
number=(number-1)/2
else:
binarynumber="0"
return "".join(reversed(binarynumber))
. .或者如果你不确定它应该总是8位,你可以把它作为一个参数传递:
>>> '%0*d' % (8, int(bin(6)[2:]))
'00000110'
假设您希望解析用于表示变量的位数,而该变量并不总是常量,那么使用numpy.binary是一种好方法。
当你把二进制应用到幂集的时候会有用吗
import numpy as np
np.binary_repr(6, width=8)
只需使用format函数
format(6, "08b")
一般形式是
format(<the_integer>, "<0><width_of_string><format_specifier>")
另一个想法:
>>> bin(6)[2:].zfill(8)
'00000110'
通过字符串插值的更短方法(Python 3.6+):
>>> f'{6:08b}'
'00000110'