Допустим, мы выполняем операцию XOR над целыми числами 1 и 4, чтобы найти расстояние Хэмминга. Почему время выполнения XOR и других побитовых операций ниже постоянного? Это потому, что размер int фиксирован в таких языках, как Python и et c., Поэтому операция займет согласованное время независимо от целочисленных входов?
[Edit] Предположим, мы вычисляем расстояние Хэмминга двух целых чисел с использованием алгоритма Брайана Кернигана, как показано ниже.
def hammingDistance(x: int, y: int):
xor = x ^ y
distance = 0
while xor:
distance += 1
# remove the rightmost bit of '1'
xor = xor & (xor - 1)
return distance