我有這樣dict = { A:3, B:5, C:3, D:2, E:6, F:5}
生成基於字典的值的二進制串在python
字典我想編寫,其基於該值作爲二進制比特寬度級聯二進制流的功能。
如果寬度爲7: - 二進制0101010上LSB位置
假設如果函數是func(B, D, E)
從0開始7位:我的輸出應該產生的級聯二進制流
0101010101010
因爲:
{01010 (B) + 10 (D) + 101010 (E)}
每個值的lsb位必須始終爲零。預計產量0101010101010
。
這裏是我的嘗試:
def Generate_binary_stream(width):
output_stream = ""
bit = 0
for i in range (0,width):
output_stream += str(bit)
bit = ~bit
print ("The bitstream for width %d is %s"%(width,output_stream))
輸出我得到:0-10-10-10-10
(如何消除連字符?)
'01010''B'的二進制表示怎麼樣? – 2014-09-25 18:49:43
由於B的寬度是5,從LSB上的0開始,它的值將是0和1的高達5位數字-01010 – user3769674 2014-09-25 18:54:03
提示:編寫一個函數'get_binary_stream(size)',返回所需大小的單個字符串。然後用它來獲得連接的二元蒸汽。 – Kevin 2014-09-25 18:54:56