1

1バイトに4つの整数を書き込もうとしています。

以下の例では、\ x11を解凍してから、ビットを読み取ることができます(answer = 1 2 0 0)が、その逆を行うにはどうすればよいですか?つまり、1 200を\xllにどのようにパックしますか

import struct

val = struct.unpack('B', '\x11')[0]

a = val & 7
b = (val >> 3) & 7
c = (val >> 6) & 1
d = (val >> 7)

print a, b, c, d

私はこれらすべてにかなり新しいです...どうもありがとう!

4

1 に答える 1

1

このような:

val = ((d & 1) << 7) | ((c & 1) << 6) | ((b & 7) << 3) | (a & 7)
于 2013-02-05T12:48:01.020 に答える