Предположим, у меня есть массив numpy dtype uint16, как мне эффективно манипулировать каждым элементом массива, чтобы биты были обращены?
например. 0001111010011100 -> 0011100101111000
Существующие решения на этом веб-сайте предлагают печатать число в строку, что будет очень медленно для массивов.
Пример того, что я хочу сделать:
test = np.array([128, 64, 32, 16, 8, 4, 2, 1]).astype(np.uint16)
out = reverse_bits(test)
print(out)
>> array([ 256, 512, 1024, 2048, 4096, 8192, 16384, 32768], dtype=uint16)