我想将String Entered转换为BCD。
a = '2015'
''.join(format(int(c), '04b') for c in str(int(a, 16)))
正在给我'1000001000010011'
。但是我希望它以解压缩的BCD格式读取0010 0000 0001 0011
。任何人都可以帮我这个吗?
答案 0 :(得分:2)
我的朋友,如你所见,更清楚问题,让我们更容易帮助你。
这是我如何解决您的问题
no = "2015"
bcd = " ".join(["0"*(4 - len(bin(int(number))[2:])) + bin(int(number))[2:] for number in no])
print bcd
# 0010 0000 0001 0101
<00> 0010 0000 0001 0011是你的输出,这是错误的。所以你的问题不仅仅是4位数表示之间的空格。但是,要解决它:
空间的问题是因为
''.join()
你使用过。你需要
' '.join()
代替。