二進位制不同位數

2021-07-28 06:42:05 字數 520 閱讀 9571

世界上有10種人,一種懂二進位制,一種不懂。

那麼你知道兩個int32整數m和n的二進位制表達,有多少個位(bit)不同麼? 

對於這道題目,首先把對應的十進位制整數轉換為二進位制,然後對比兩個二進位制,得出結果。

至於用什麼來儲存二進位制,乙個是用陣列來儲存,如果考慮空間問題,可以用佇列來儲存,而且佇列可能更快。

下面兩種方法都進行一遍實現。

首先是用陣列來實現

#include

using namespace std;

int binarydiff(int m,int n)

/* *轉換成為二進位制

*/ for (int i=0; m;i++,m_len++)

for (int i = 0; n; i++, n_len++)

//比較不同位數

if (m_len >= n_len)

}} else

}} return diff;

}int main()

二進位制 二進位制起源

現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...

二進位制位數的比較

題目 世界上有10種人,一種懂二進位制,一種不懂。那麼你知道兩個int32整數m和n的二進位制表達,有多少個位 bit 不同麼?解題思路 將m和n分別與1相與,如果得到的兩個結果不相同,則說明該位是不相同的,將結果加1 然後分別將m與n右移一位,如此重複,直到m和n兩者當中有乙個為0,則退出迴圈。如...

判斷交替二進位制位數

給定乙個正整數,檢查他是否為交替位二進位制數 換句話說,就是他的二進位制數相鄰的兩個位數永不相等。題目 輸入 5 輸出 true 解釋 5的二進位制數是 101 輸入 7 輸出 false 解釋 7的二進位制數是 111 方法一 方法二 將二進位制引數轉換成字串,並放入乙個char陣列中,遍歷這個陣...