我明白這個解決方案的工作原理。在不使用任何算術運算符的情況下添加兩個數字的說明
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
}
但在這個問題筆者批示:
「我們在這類問題的第一反應應該是,我們將有位工作爲什麼呢?因爲當你?拿走+號,我們還有什麼其他選擇?另外,這就是計算機如何做的。「
作者試圖暗示什麼?
非常感謝你 –