2017-04-24 15 views
0

私はBitarrayを持っており、ある位置から別の位置に読み込みたいです。 私が持っている例えばので、私は、forループのint変数の長さを持っている:bitstring.BitArrayから特定のビットを読み込みます。

length = 2 を、私のBitarrayのようなものになります。

msgstr = bitstring.BitArray(0b11110011001111110) 

を私は、最初の2ビットを読み、それらを変換したいですint型に、私が持っているように:長さが値に変更されたとき、それは第3ビットから開始する必要があります id == 3 、次のラウンドのためなど

id = bitstring.BitArray() 
m = 0 
while 5 != m: 
    ///////////// 
    Length changes in value part of Code 
    ///////////// 
    x = 0 
    if m == 0: 
     while length != x: 
      id.append = msgstr[x] #msgstr is the BitArray that needs to be read 
      x = x + 1 
    m = m + 1 

答えて

0

あなたがここで欲しいものはスライシングと呼ばれています。

for i in range(0,len(msgstr),length): 
    print msgstr[i:i+length].uint 

このコードは、あなたが求めているものを取得します。最初の2ビットをとり、intに変換して、3番目と4番目のビットをとり、intなどに変換します。

関連する問題