国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

Cobub / 2462人閱讀

分析

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

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

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/72446.html

相關文章

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

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

    Turbo 評論0 收藏0
  • 數據結構與算法的Python實現(一)——抽象數據類型Python類

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

    Batkid 評論0 收藏0
  • Java 數據類型算符

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

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

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

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

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

    DirtyMind 評論0 收藏0

發表評論

0條評論

Cobub

|高級講師

TA的文章

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