371 兩整數之和(簡單題)

2021-09-27 13:53:18 字數 612 閱讀 2810

題目描述:

不使用運算子 + 和 - ​​​​​​​,計算兩整數 ​​​​​​​a 、b ​​​​​​​之和。

示例 1:

輸入: a = 1, b = 2

輸出: 3

示例 2:

輸入: a = -2, b = 3

輸出: 1

思路概述:

不使用 + - 號計算,那就考慮使用位運算,位運算的用法可以參考我的另一篇筆記

位運算介紹

求和分兩步,第一步是各位相加,第二步是進製操作,在位運算中,各位相加只有1或0,而什麼時候會得到 1 呢?就是兩個數,乙個是1 ,乙個是0,這就可以通過 ^ (異或)來操作。

同理,什麼時候進製呢?兩個都是1的情況,那就可以用到 & (與)來操作,記得要在後面加乙個<<1,來進行進製操作

這是乙個迴圈的過程,先相加,再進製,再相加,再進製……什麼時候結束了呢?進製為0,也就是不需要進製操作後。因此,**如下

解法:

class

solution

return a;

}}

371 兩整數之和

不使用運算子 class solution def getsum self,a int,b int int mask 0x100000000 整型最大值 max int 0x7fffffff min int 0x80000000 while b 0 計算進製 carry a b 1 取餘範圍限制在 ...

371 兩整數之和

題目 不使用運算子 和 計算兩整數a b之和。示例 示例1 輸入 a 1,b 2 輸出 3 思路 位運算 可以發現,在位運算中的加法 不考慮進製1 就是異或運算的結果。但是僅僅有異或運算是不夠的,我們還需要知道,何時發生了進製,這就需要用到 運算 注意到 運算得到的進製1需要移1位來得到實際真實的進...

371 兩整數之和

1.題目 不使用運算子 和 計算兩整數 a b 之和。示例 1 輸入 a 1,b 2 輸出 3示例 2 輸入 a 2,b 3 輸出 12.分析 在不採用加法和減法的前提下計算兩整數之和,這需要使用與運算子和異或運算子,首先,利用與運算 a b,計算出 a 和 b 所有進製的位置,然後將其左移一位,這...