2

私のc1.txtファイルには、次のようなものがあります

var0 = '0x000000000000004080'

そして私のpythonメールファイルで:

def getVarFromFile(filename):
  import imp
  f = open(filename)
  global data
  data = imp.load_source('data', '', f)
  f.close()
getVarFromFile('c1.txt') 

var0 は 72 ビットの変数であり、私の Python ファイルでは、それをそれぞれ 6 ビットの 12 個の変数に割り当てたいのですが、どうすればそれを行うことができますか?

var0 は 16 進変数なので、できないようです

x = int(data.var1) & 0x3F

ありがとう

4

1 に答える 1

2

最後の行で行う必要があるのは、整数変換のベースを提供することだけだと思います。

values_from_hex = int(data.var1, 16)

次に、値を 6 ビット値に分割できます (最下位ビットが最初)。

six_bit_values = [values_from_hex >> i*6 & 0x3f for i in range(12)]

の値の場合'0x000000000000004080'、これは を取得し[0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0]ます。

于 2013-08-27T13:53:18.030 に答える