IT筆試面試題整理 不用加減乘除做加法

2022-07-16 06:54:15 字數 486 閱讀 7512

【試題描述】寫乙個函式,求兩個整數的和,要求在函式體內不得使用加減乘除四則運算符合。

基本思路是這樣的:

int a, b;

a&b //看哪幾位有進製

a^b //不帶進製加

考慮二進位制加法的過程,

步驟一、a^b,能夠得到沒有進製的加法。

步驟二、a&b,能夠得到相加之後,能夠進製的位置的資訊。向左移動一位,就是兩個二進位制數相加之後的進製資訊。所以,(a&b)<<1就是兩個二進位制數相加得到的「進製結果」。

步驟三、將前兩步的結果相加。相加的過程就是步驟一和步驟二,直到不再產生進製為止。

【參考**】

1

public

static

int func2(int a, int

b) while (carry != 0);

12return

sum;

13 }

面試題65 不用加減乘除做加法

面試題65 不用加減乘除做加法 題目 寫乙個函式,求兩個整數之和,要求在函式體內不得使用 四則運算符號。思路 首先看十進位制是如何做的 5 7 12 三步走 第一步 相加各位的值,不算進製,得到2。第二步 計算進製值,得到 10.如果這一步的進製值為 0,那麼第一步得到的值就是最終結果。第三步 重複...

面試題65 不用加減乘除做加法

題目 寫乙個函式,求兩個整數之和,要求在函式體內不得使用 四則運算符號。public class solution return num1 首先看十進位制是如何做的 5 7 12,三步走 第一步 相加各位的值,不算進製,得到2。第二步 計算進製值,得到10.如果這一步的進製值為0,那麼第一步得到的值...

Java 面試題65 不用加減乘除做加法

思路 首先看十進位制是如何做的 5 7 12,三步走 第一步 相加各位的值,不算進製,得到2。第二步 計算進製值,得到10.如果這一步的進製值為0,那麼第一步得到的值就是最終結果。第三步 重複上述兩步,只是相加的值變成上述兩步的得到的結果2和10,得到12。同樣我們可以用三步走的方式計算二進位制值相...