dec番号を6ビットの2進数に変換しようとしています。bin()
正常に動作しますが、重要な先行ゼロは省略されます。
例えば:
- 0 = 000000
- 1 = 000001
- 2 = 000010
など...許可される最大のdec番号は63です。
Matt がコメント ( bin(63)[2:].zfill(6)
) で述べたこと、またはPython 2.6+ でフォーマット文字列を使用することのいずれか:
'{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