成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

java 給出兩個整數(shù)a和b , 求他們的和。不用用運算符+

Cobub / 2457人閱讀

分析

首先來理解一下十進制的加法
8884 + 146 = 9030
依據(jù) 不進位+進位這一思想進行詳述
首先是不進位的結(jié)果是8920

哪幾位需要進位呢? 0011 也就是個位和十位需要進位,個位、十位進位之后的值為110,而這個結(jié)果是需要加到上面的不進位的值,即8920+110 = 8030 同樣這是沒有進位的,但是在這次相加的過程中也有進位的考量,哪幾位呢?即100,百位的位置需要進位,那就再左移即可,為1000,然后加上上面的不進位相加的和,最后結(jié)果是9030,最后再看一下,還需不需要進位呢?發(fā)現(xiàn)8030&1000=0(按著二進制的形式寫的,便于理解),此時是沒有再需要進位的了,即最后結(jié)果就是9030了。

下面推廣到二進制,是同樣的思路的。
來看一下13+7這兩個數(shù)的求和過程
13的二進制表示為:1101
7的二進制表示為: 0111
先求不進位的兩個數(shù)之和,1101^0111 = 1010 ,而哪幾位需要進位呢?
可以用&運算符來確定,即1101 & 0111 = 0101,將此結(jié)果左移即是進位之后需要加在1010上面的值,這就有變成剛開始的狀態(tài)了,兩個數(shù)相加,先算不進位狀態(tài)的和,然后再看哪幾位需要進位,上面兩種狀態(tài)的值為 0000(不進位的結(jié)果) 1010(需要進位,待計算),后面的值再左移表示進位之后的結(jié)果為10100,
此時新的兩個數(shù)是0000,10100,

public class Solution{
    /**
     * @param a: An integer
     * @param b: An integer
     * @return: The sum of a and b 
     */
    public int aplusb(int a, int b) {
        if (b==0) 
            return a;
        return aplusb(a^b, (a&b)<<1);
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/72446.html

相關(guān)文章

  • LeetCode 150:逆波蘭表達式值 Evaluate Reverse Polish Nota

    摘要:題目根據(jù)逆波蘭表示法,求表達式的值。給定逆波蘭表達式總是有效的。逆波蘭表達式又叫做后綴表達式。解題思路可以看出逆波蘭表達式中的每一個運算符屬于該運算符前的兩個數(shù)字間的運算。如如波蘭表達式則加號前兩個數(shù)字為。 題目: 根據(jù)逆波蘭表示法,求表達式的值。 有效的運算符包括 +, -, *, / 。每個運算對象可以是整數(shù),也可以是另一個逆波蘭表達式。 Evaluate the value of...

    Turbo 評論0 收藏0
  • 數(shù)據(jù)結(jié)構(gòu)與算法的Python實現(xiàn)(一)——抽象數(shù)據(jù)類型Python類

    摘要:一抽象數(shù)據(jù)類型,縮寫為是計算機領(lǐng)域一種很基礎(chǔ)的方法,基本的思想就是數(shù)據(jù)抽象。二抽象數(shù)據(jù)類型的概念和描述抽象數(shù)據(jù)類型把數(shù)據(jù)定義為抽象的對象集合,只為他們定義可用的操作,而不用暴露具體的實現(xiàn)細(xì)節(jié)。 文章首發(fā)于公眾號一件風(fēng)衣(ID:yijianfengyi) 名人名言強調(diào)基礎(chǔ)的重要性的句子不勝枚舉,數(shù)據(jù)結(jié)構(gòu)與算法作為計算機專業(yè)的必學(xué)科目,其重要性不言而喻。 在以往的教學(xué)體系中,數(shù)據(jù)結(jié)構(gòu)與算法...

    Batkid 評論0 收藏0
  • Java 數(shù)據(jù)類型算符

    摘要:基本數(shù)據(jù)類型布爾類型或,占用位。強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換的語法格式是,強制類型轉(zhuǎn)換的運算符是圓括號。無符號右移運算符。對于低于類型如和的操作數(shù)總是先自動類型轉(zhuǎn)換為類型后再移位。 注釋 單行注釋//......多行注釋/ .../文檔注釋/*.../ 文檔注釋位于注釋內(nèi)容上一行 標(biāo)識符和關(guān)鍵字 分隔符 分號:作為語句的分隔,每個Java語句必須使用分號作為結(jié)尾。花括號:定義一個代碼...

    archieyang 評論0 收藏0
  • 1034 有理數(shù)四則運算 (20 分)java

    摘要:本題要求編寫程序,計算個有理數(shù)的和差積商。輸出格式分別在行中按照有理數(shù)運算符有理數(shù)結(jié)果的格式順序輸出個有理數(shù)的和差積商。注意輸出的每個有理數(shù)必須是該有理數(shù)的最簡形式,其中是整數(shù)部分,是最簡分?jǐn)?shù)部分若為負(fù)數(shù),則須加括號若除法分母為,則輸出。 本題要求編寫程序,計算 2 個有理數(shù)的和、差、積、商。 輸入格式:輸入在一行中按照 a1/b1 a2/b2 的格式給出兩個分?jǐn)?shù)形式的有理數(shù),其中分...

    mikyou 評論0 收藏0
  • Java基礎(chǔ)語法知識你真的都會嗎?

    摘要:而所有的數(shù)據(jù)運算都是采用補碼進行的。補碼解決負(fù)數(shù)加法運算正負(fù)零問題,彌補了反碼的不足。通過使用訪問修飾符可以使實例變量對子類可見暫時在學(xué)習(xí)基礎(chǔ)語法知識的時候可以暫時忽略實例變量這部分內(nèi)容,這部分內(nèi)容主要被使用在面向?qū)ο蟮牟糠?,但是極其重要。 showImg(https://segmentfault.com/img/remote/1460000019264541?w=600&h=242)...

    DirtyMind 評論0 收藏0

發(fā)表評論

0條評論

Cobub

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<