程式設計實現:兩個int(32位)整數m和n的二進位制表達中,有多少個位(bit)不同。
輸入例子:1999 2299
輸出例子:7
1.先將 m 和 n 進行按位異或,此時m和n相同的二進位制位元位清零,不同的二進位制位元位為1;
2.統計異或完成後結果(temp)的二進位制位元位中有多少個1即可(採用按位與)。
#include
#include
#pragma warning(disable:4996)
intdiff_bit
(int m,
int n)
return count;
}int
main()
& —> 按位與(有0出0)
| —>按位或(有1出1)
^ —>按位異或(相同為0,相異為1)
如果本文章對你有幫助,哪怕一點點,那就請點乙個贊唄,謝謝~~
二進位制不同位數
世界上有10種人,一種懂二進位制,一種不懂。那麼你知道兩個int32整數m和n的二進位制表達,有多少個位 bit 不同麼?對於這道題目,首先把對應的十進位制整數轉換為二進位制,然後對比兩個二進位制,得出結果。至於用什麼來儲存二進位制,乙個是用陣列來儲存,如果考慮空間問題,可以用佇列來儲存,而且佇列可...
求二進位制中1的個數
在 程式設計之美 一書中有一節提到如何求乙個位元組的無符號整型變數二進位制表示中中1的個數,主要提到了四種方法。下面簡單介紹一下 1.求餘法 在將十進位制數轉換為二進位制數時,採用除2取餘法。將每次除2得到的餘數儲存起來逆序輸出便是該十進位制整數的二進位制表示。因此可以採用這種方法去統計1的個數。i...
求二進位制中1的個數
解法有很多種 以乙個位元組無符號位元組變數作為例子 解法一 求餘法 在將十進位制數轉換為二進位制數時,採用除2取餘法。將每次除2得到的餘數儲存起來逆序輸出便是該十進位制整數的二進位制表示。因此可以採用這種方法去統計1的個數。public int count byte n return sum 解法二...