Самый быстрый способ получить расстояние Хэмминга для целочисленного массиваPython

Программы на Python
Ответить
Anonymous
 Самый быстрый способ получить расстояние Хэмминга для целочисленного массива

Сообщение Anonymous »

Пусть a и b — векторы одного размера с 8-битными целыми числами (0–255). Я хочу вычислить количество битов, на которые эти векторы различаются, то есть расстояние Хэмминга между векторами, образованными путем объединения двоичных представлений этих чисел. Например:

Код: Выделить всё

a = [127,255]
b= [127,240]
Использование библиотеки numpy

Код: Выделить всё

np.bitwise_xor(a,b)
# Output: array([ 0, 15])
Теперь мне нужно двоично представить каждый элемент вышеуказанного массива и подсчитать количество единиц во всех элементах массива. В приведенном выше примере расстояние Хэмминга составит 0+4 = 4. Есть ли быстрое и элегантное решение для этого на Python?

Подробнее здесь: https://stackoverflow.com/questions/408 ... eger-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»