3

下面是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 的含义。提前致谢 :)

4

1 回答 1

5

%o字符串格式。您%o用于八进制数(即以 8 为基数):

>>> print "%o" % 011
11
>>> print "%o" % 8
10 # Because 010 == 8
于 2013-07-03T02:59:29.053 回答