Я пытаюсь сделать некоторые вычисления с bytearray
для алгоритма хеширования, но продолжаю получать ошибку о ^
типах операндов. Я уже сделал несколько других методов, которые, кажется, работают хорошо, но с этим методом он продолжает получать ошибку. Ниже приведен код:
def showstate(a):
i = 0
buf = bytearray()
width = 17
print (type(a))
while i < 8 * width:
buf.append(buf ^ (1 and a[i])<<(7-(i%8)))
#buf ^= (1 and a[i])<<(7-(i%8))
#print ("absc")
if (((i%8) == 7) and (i)):
print("%02x"%buf, end = '')
buf = 0
i += 1
Я уже пытался посмотреть тип данных, который имел a
- там написано bytearray
Я не вижу проблем с вычислением buf
. Почему всегда ошибка с:
TypeError: unsupported operand type(s) for ^: 'bytearray' and 'int'