Ну т.е., я понимаю, что мы считаем общее представление общих бит ( через And ) и Разных ( а через XOR ), а потом за каким-то хером делим кол-во общих на 2 и начинается какая-то магия. Киньте, плс, ссылку, если кто знает, как это работает
Мы не делим на 2.
И тут не магия, представь как ты прибавляешь числа в столбик. Ты прибавляешь две цифры и записываешь результат ниже, и перенос на след цифру. Так вот тут операция ксор соответствует всем добавлениям цифр но без переносов, все переносы это побитовый енд, и сдвиг на 1, так как надо перенести цифры на след места. И потом ты по сути повторяешь ту же процедуру но для чисел "сумма без переносов" и "все переносы"