【发布时间】:2011-10-07 13:26:51
【问题描述】:
我希望将 dec 数转换为 6 位二进制数。bin() 工作正常,但省略了重要的前导零。
例如:
- 0 = 000000
- 1 = 000001
- 2 = 000010
等等...允许的最大十进制数是 63。
【问题讨论】:
-
只需使用
bin()和left-pad the result。
我希望将 dec 数转换为 6 位二进制数。bin() 工作正常,但省略了重要的前导零。
例如:
等等...允许的最大十进制数是 63。
【问题讨论】:
bin() 和left-pad the result。
无论是 Matt 在评论中所说的 (bin(63)[2:].zfill(6)),还是在 Python 2.6+ 中使用 format strings:
'{0:06b}'.format(63)
您可以在 Python 2.7+ 中省略第一个零,因为您可以隐式编号组。
【讨论】:
或者只是:
n2=[2**x for x in xrange(0, 7)]
n2.reverse()
def getx(x):
ret = ''
for z in n2:
if x >= z:
x -= z
ret += '1'
else:
ret += '0'
return ret
【讨论】: