Пусть a и b — векторы одного размера с 8-битными целыми числами (0–255). Я хочу вычислить количество битов, на которые эти векторы различаются, то есть расстояние Хэмминга между векторами, образованными путем объединения двоичных представлений этих чисел. Например:
Использование библиотеки numpy
Код: Выделить всё
np.bitwise_xor(a,b)
# Output: array([ 0, 15])
Теперь мне нужно двоично представить каждый элемент вышеуказанного массива и подсчитать количество единиц во всех элементах массива. В приведенном выше примере расстояние Хэмминга составит 0+4 = 4. Есть ли быстрое и элегантное решение для этого на Python?
Подробнее здесь:
https://stackoverflow.com/questions/408 ... eger-array