1

Python3にバイト型はありますか? bytearray があることしか知りません。

私が欲しいのは、 byte があり0x01、次に Complement Operatorを実行~すると結果は になり0xFEますが、次の手順を実行すると、結果はbytearray-2-2追加できません。

>>> data=bytearray([0x01])
>>> data
bytearray(b'\x01')
>>> ~data[0]
-2
>>> data[0]=~data[0]
Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
ValueError: byte must be in range(0, 256)
4

2 に答える 2

0

~data[0]モジュロ 256 を使用して、正しくシフトされた値を取得できます。

>>> data = bytearray([0x01])
>>> data[0] = ~data[0]%256
>>> data
bytearray(b'\xfe')

負の数の剰余演算の詳細については、pythonでの負の数の剰余を参照してください。

于 2015-02-06T08:21:52.380 に答える