第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c++ 用位運(yùn)算來計(jì)算

c++ 用位運(yùn)算來計(jì)算

C++
慕碼人8056858 2018-07-29 11:00:46
輸入兩個數(shù)字a和b用位運(yùn)算輸出a-b的值有多組直到輸入EOF...
查看完整描述

1 回答

?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個贊

模擬二進(jìn)制運(yùn)算。


加法運(yùn)算:將一個整數(shù)用二進(jìn)制表示,其加法運(yùn)算就是:相異(^)時,本位為1,進(jìn)位為0;同為1時本位為0,進(jìn)位為1;同為0時,本位進(jìn)位均為0。所以,不計(jì)進(jìn)位的和為sum = a^b,進(jìn)位就是arr = a&b,(與sum相加時先左移一位,因?yàn)檫@是進(jìn)位)。完成加法直到進(jìn)位為0.

int add(int a, int b) //遞歸形式

{

    if(b==0) //遞歸結(jié)束條件:如果右加數(shù)為0,即不再有進(jìn)位了,則結(jié)束。

        return a;

    int s = a^b;

    int c = (a&b)<<1; //進(jìn)位左移1位,達(dá)到進(jìn)位的目的。

    return add(s, c); //再把'和'和'進(jìn)位'相加。遞歸實(shí)現(xiàn)。

}


int add(int a, int b) //非遞歸形式

{

    int s, c;

    while(b != 0)

    {

        s = a^b;

        c = (a&b)<<1;

        a = s;

        b = c;

    }

    return a;


查看完整回答
反對 回復(fù) 2018-09-01
  • 1 回答
  • 0 關(guān)注
  • 771 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號