CPU 是怎么做加法運算?
先異或,然后與,然后左移,然后判斷第三步結果是非為0,為0,結果就是第一次運算的結果,不為0,那么兩數變為第一和第三的結果重新第一次運算
例如:CPU 怎么計算2+3=?
2 轉換二進制數: 0010
3 轉換二進制數: 0011
-
第一步:先進行異或^運算,並保存結果
2^3 = 0010^0011= 0001 -
第二步:要相加的兩個數改為與‘&’運算,並保存結果
2&3 = 0010&0011=0010 -
第三步:第二步的結果進行<<左移1位運算,並保存結果
0010<<1 = 0100 -
第四步:判斷第三步的結果是否等於0如果等於0第一步計算所得就是結果
如果不相等又從第一步從新開始,並把計算的數改為上一次第一步和第三步運算的結果。
所以...(下面的步驟是重復的)
-
第五步:先進行異或^運算,並保存結果
0001^0100= 0101 -
第六步:要相加的兩個數改為與‘&’運算,並保存結果
0001&0100=0000 -
第七步:第二步的結果進行<<左移1位運算,並保存結果
0000<<1 = 0000 -
第八步:判斷第三步的結果是否等於0
結果是等於0所以計算所得結果就是0101
得到結果為0101,0101轉換為十進制為5,所以2+3=5