Я понял, как это решение работает.Уточнение при добавлении двух чисел без использования каких-либо арифметических операторов
int add_no_arithm(int a, int b) {
if (b == 0) return a;
int sum = a^b; // add without carrying
int carry = (a & b) << 1; // carry, but don’t add
return add_no_arithm(sum, carry); // recurse
}
Но автор комментирует над этой проблемой, как:
«Наш первый инстинкт в таких проблем, как это должно быть, что мы будем вынуждены работать с битами Почему? Потому что, когда ты.? отмените знак +, какой у нас другой выбор? Кроме того, так делают компьютеры ».
Что автор пытается сказать?
Спасибо большое –