В рубине наиболее эффективный способ вычисления разности бит между двумя целыми без знака (например, расстояние от помех)?
Например, у меня есть целое число a = 2323409845 и b = 1782647144.
Их двоичные представления:
a = 10001010011111000110101110110101
b = 01101010010000010000100101101000
Разность бит между a и b равна 17..
Я могу сделать для них логический XOR, но это даст мне другое целое число!= 17, тогда мне придется перебирать бинарное представление результата и подсчитывать число из 1s.
Каков наиболее эффективный способ вычисления разности бит?
Теперь, меняется ли ответ для вычисления разности бит последовательностей многих ints? Например. учитывая 2 последовательности целых чисел без знака:
x = {2323409845,641760420,509499086....}
y = {uint,uint,uint...}
Каков наиболее эффективный способ вычисления разности бит между двумя последовательностями?
Проводите ли вы повторение последовательности, или есть более быстрый способ вычисления разницы по всей последовательности сразу?