用于生成 n
位的二进制数
我这样做是为了获得最多 16 个二进制数。
n = 6 # for 6 digits
for i in xrange(16):
b = bin(i)[2:]
l = len(b)
b = str(0) * (n - l) + b
print b
结果是这样的
000000
000001
000010
000011
000100
000101
000110
000111
001000
001001
001010
001011
001100
001101
001110
001111
但我想要的是在不在前缀中添加一系列 0
的情况下获取这些值。
谁能帮我解决这个问题。
谢谢
最佳答案
删除填充 0
的行。
n = 6
for i in xrange(16):
b = bin(i)[2:]
l = len(b)
#b = str(0) * (n - l) + b # <--------
print b
如果您指的是不带字符串运算符的填充数字,请使用 str.format
与 b
type format :
n = 6
for i in xrange(16):
print '{:0{}b}'.format(i, n)
# OR print '{:06b}'.format(i)
# OR print '{:b}'.format(i) if you want no leading 0s.
关于python - N位二进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25589729/