下面是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
我不知道%o的含义。在此先感谢:)
答案 0 :(得分:5)
%o
是string formatting。您使用%o
表示八进制数(即基数为8的数字):
>>> print "%o" % 011
11
>>> print "%o" % 8
10 # Because 010 == 8