A + B 問題(位運(yùn)算應(yīng)用2)

題目:

給出兩個(gè)整數(shù)a和b, 求他們的和, 但不能使用 + 等數(shù)學(xué)運(yùn)算符

注意事項(xiàng):

你不需要從輸入流讀入數(shù)據(jù),只需要根據(jù)aplusb的兩個(gè)參數(shù)a和b,計(jì)算他們的和并返回就行籍救。

說明:

a和b都是32位整數(shù)编矾,可以使用位運(yùn)算符

樣例:

如果 a=1并且 b=2圣蝎,返回3

代碼:

class Solution {
    /*
     * param a: The first integer
     * param b: The second integer
     * return: The sum of a and b
     */
    public int aplusb(int a, int b) {
        // 主要利用異或運(yùn)算來完成 
        // 異或運(yùn)算有一個(gè)別名叫做:不進(jìn)位加法
        // 那么a ^ b就是a和b相加之后话瞧,該進(jìn)位的地方不進(jìn)位的結(jié)果
        // 然后下面考慮哪些地方要進(jìn)位,自然是a和b里都是1的地方
        // a & b就是a和b里都是1的那些位置唬涧,a & b << 1 就是進(jìn)位
        // 之后的結(jié)果譬正。所以:a + b = (a ^ b) + (a & b << 1)
        // 令a' = a ^ b, b' = (a & b) << 1
        // 可以知道宫补,這個(gè)過程是在模擬加法的運(yùn)算過程,進(jìn)位不可能
        // 一直持續(xù)曾我,所以b最終會變?yōu)?粉怕。因此重復(fù)做上述操作就可以
        // 求得a + b的值。
        while (b != 0) {
            int _a = a ^ b;
            int _b = (a & b) << 1;
            a = _a;
            b = _b;
        }
        return a;
    }
}

總結(jié):

題目略微有些抽象抒巢,實(shí)際上就是將a 和 b 的二進(jìn)制位相加贫贝,_a代表不考慮進(jìn)位的二進(jìn)制和,
_b代表單單是只有進(jìn)位處值的和蛉谜,當(dāng)_b為0時(shí)意味著此時(shí)的_a已經(jīng)是a + b的和
之所以要重復(fù)加的原因是當(dāng)前進(jìn)位加完可能還會有新的進(jìn)位
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末稚晚,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子型诚,更是在濱河造成了極大的恐慌客燕,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俺驶,死亡現(xiàn)場離奇詭異幸逆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)暮现,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門还绘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人栖袋,你說我怎么就攤上這事拍顷。” “怎么了塘幅?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵昔案,是天一觀的道長。 經(jīng)常有香客問我电媳,道長踏揣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任匾乓,我火速辦了婚禮捞稿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拼缝。我一直安慰自己娱局,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布咧七。 她就那樣靜靜地躺著衰齐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪继阻。 梳的紋絲不亂的頭發(fā)上耻涛,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機(jī)與錄音瘟檩,去河邊找鬼犬第。 笑死,一個(gè)胖子當(dāng)著我的面吹牛芒帕,可吹牛的內(nèi)容都是我干的歉嗓。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼背蟆,長吁一口氣:“原來是場噩夢啊……” “哼鉴分!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起带膀,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤志珍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后垛叨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體伦糯,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了敛纲。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喂击。...
    茶點(diǎn)故事閱讀 38,599評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖淤翔,靈堂內(nèi)的尸體忽然破棺而出翰绊,到底是詐尸還是另有隱情,我是刑警寧澤旁壮,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布监嗜,位于F島的核電站,受9級特大地震影響抡谐,放射性物質(zhì)發(fā)生泄漏裁奇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一麦撵、第九天 我趴在偏房一處隱蔽的房頂上張望框喳。 院中可真熱鬧,春花似錦厦坛、人聲如沸五垮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽放仗。三九已至,卻和暖如春撬碟,著一層夾襖步出監(jiān)牢的瞬間诞挨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工呢蛤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惶傻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓其障,卻偏偏與公主長得像银室,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子励翼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,742評論 25 707
  • 題目: 注意事項(xiàng): 說明: 樣例: 挑戰(zhàn): 代碼: 詳解:
    6默默Welsh閱讀 414評論 0 0
  • 眼淚 蚌殼中凝聚的痛苦 使沙礫變成珍珠 我轉(zhuǎn)身過去 你剛剛邁步離去 回憶和你都像蚌殼中凝聚的痛苦 也許曾經(jīng)是幸福吧...
    鹿宥宥閱讀 287評論 3 12
  • 其實(shí) 很多一開始沒有想過的事情 突然發(fā)生了 人就會挺開心的 可是 貪婪和欲望應(yīng)該是本性吧 欲壑難填 想要的就更多了...
    Kingsleyffy閱讀 243評論 0 0
  • 比較簡單蜈敢,只做一個(gè)筆記,并于以后查詢1汽抚、將微信支付第三方庫拖到項(xiàng)目中 2抓狭、添加微信支付需要的依賴庫 3、環(huán)境配置1...
    達(dá)達(dá)記閱讀 344評論 0 0