兩個整數二進位制表達中,有多少個位 bit 不同

2021-07-13 08:49:36 字數 582 閱讀 8376

程式設計實現:

兩個int(32

位)整數m和

n的二進位制表達中,有多少個位

(bit)

不同? 

輸入例子:

1999 2299

輸出例子:7

1、利用移位運算,將32位二進位制數儲存在陣列中,然後比較兩個陣列中各個元素是否相同。

**如下:

#include#includeint main()

for(i=0;i<32;i++)

for(i=0;i<32;i++)

printf("count=%d",count);

system("pause");

return 0;

}

2、直接進行異或(二進位制按位異或),然後求取「1」的個數。

#include#includeint main()

printf("count=%d\n",count);

system("pause");

return 0;

}

本文出自 「scen」 部落格,請務必保留此出處

整數的二進位制表達中有多少個1

給定乙個32位的整數n,可為0,可為正,也可為負,返回該整數二進位制表達中1的個數。最簡單的做法就是求出乙個整數如何得到它的二進位制數。以整數5為例。用5除以2,取餘的結果為1時代表二進位制表達中含有乙個1,此時的被除數變為5 2。迴圈直到被除數為0,迴圈結束。注意 負數的二進位制表示的首位為1.在...

整數的二進位制表示式中有多少個1

給定乙個32位整數n,可為0,可為正,也可為負,返回該整數二進位制表達中1的個數 整數n每次進行無符號右移一位,檢查最右邊的bit是否為1來進行統計,如下 public int count1 int n return res 上面這個方法在最複雜的情況下要經過32次迴圈 public int cou...

微創 求整數的二進位制表示中有多少個1

現有一整數n,求n用二進位制表示中有多少個1?解法一的步驟 1 判定n是否為0,若為0,計算結束 否則繼續計算 2 取n mod 2的值,若為1,計數器加1 3 對n進行除2,並返回到步驟 1 如下 int count1bits int n while 0 n return count 解法二 先來...