将数字转换为固定长度的二进制

问题描述

不,你不会。

>>> '{0:07b}'.format(12)
'0001100'

解决方法

假设我得到一个介于1到127之间的随机数。我将该数字更改为二进制,并0b使用下面的代码将其从中删除:

key_one= int(raw_input("Enter key (0 <= key <= 127): "))

if key_one in range(128):
    bin_key_one=bin(key_one)[2:]
print bin_key_one
else:
    print "You have to enter key (0 <= key <= 127)"

现在,我想通过在必要时以零填充开头来使其长度为7个字符。我认为我需要使用一个for循环,但是有人可以告诉我该怎么做吗?