求兩個數和

2021-09-24 16:54:25 字數 811 閱讀 7518

題目描述

寫乙個函式,求兩個整數之和,要求在函式體內不得使用+、-、*、/四則運算符號。

思路:位運算

兩個數異或:相當於每一位相加,而不考慮進製;

兩個數相與,並左移一位:相當於求得進製;

將上述兩步的結果相加

具體步驟:

首先看十進位制是如何做的: 5+7=12,三步走

第一步:相加各位的值,不算進製,得到2。

第二步:計算進製值,得到10. 如果這一步的進製值為0,那麼第一步得到的值就是最終結果。

第三步:重複上述兩步,只是相加的值變成上述兩步的得到的結果2和10,得到12。

class solution 

return a;

}};

舉例:

13+11 = ?;

13 的二進位制 1 1 0 1 -----a 13

11 的二進位制 1 0 1 1 -----b 11

(a&b) <<1 -> 1 0 0 1 0 -----d 18

a^b -> 0 1 1 0 -----e 6

(d&e) <<1 -> 0 0 1 0 0 ------f 4

d^e -> 1 0 1 0 0 -----g 20

(f&g) <<1 -> 0 1 0 0 0 ------h 8

f^g -> 1 0 0 0 0 ------i 16

(h&i) <<1 -> 0 0 0 0 0 ------h 0 ---- --------退出迴圈

h^i -> 1 1 0 0 0 ------i 24

pyhon 求兩個數的和

求兩個數的和 從鍵盤輸入兩個數,求它們的和並輸出 30分 本題目要求讀入2個整數a和b,然後輸出它們的和。輸入格式 在一行中給出乙個被加數 在另一行中給出乙個加數 輸出格式 在一行中輸出和值。輸入樣例 在這裡給出一組輸入。例如 18 48 輸出樣例 在這裡給出相應的輸出。例如 30 如下 a int...

求兩個數之和

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...

彙編求兩個數的和 注釋

datas segment five db 5 datas ends stacks segment db 128 dup stacks ends codes segment assume cs codes,ds datas,ss stacks start mov ax,datas 把資料存到資料段d...