下面是python的表达式.它将整数转换为二进制.
>>>octtab = {'0':'000', '1':'001', '2':'010', '3':'011',
'4':'100', '5':'101', '6':'110', '7':'111'}
>>>def bin1(d, width=0):
"integer to binary (string)"
s = "%o" % d
b = ''
for el in s:
b += octtab[el]
if width > 0:
if len(s) > width:
return b[:width]
b = b.zfill(width)
return b
Run Code Online (Sandbox Code Playgroud)
我不知道%o的含义.提前致谢 :)
%o是字符串格式.您使用%o八进制数字(即基数为8):
>>> print "%o" % 011
11
>>> print "%o" % 8
10 # Because 010 == 8
Run Code Online (Sandbox Code Playgroud)