aşağıdaki gibi ByteArray var ki bytearrays:
mask = bytearray([0b0001, 0b0100, 0b0111])
, her bit belli bayrağı temsil
. Öyle gibi maske dizinin dilimleri için bir bayrak eklemek istiyorum:
mask[0:2] = mask[0:2] | 0b1000
ama TypeError olsun:
TypeError: unsupported operand type(s) for |: 'bytearray' and 'int'
neyi Bunu yapmanın en zarif yolu ne olurdu?bit maskesi işlemleri
yanı, bu çalıştı:
masks[0:2] = bytearray([bin(m | 0b0001) for m in masks[0:2]])
hata ile:
string must be of size 1
teşekkürler!
Teşekkürler - Numpy hakkında düşünmedim bile. Şunun gibi bir şey yapabilirim: 'maskeler [0: 2] = np.bitwise_or (maskeler [0: 2], 0b0001)' ve sonra değiştirilmiş bayraklarımı harita ile gör (np.binary_repr, maskeler) ' – user5283407