查詢輸入整數二進位制中1的個數

2021-10-08 01:36:22 字數 575 閱讀 9336

請實現如下介面

public

static

intfindnumberof1

(int num)

譬如:輸入5 ,5的二進位制為101,輸出2

輸入描述: 輸入乙個整數

輸出描述: 計算整數二進位制中1的個數

【解題思路】:

本題是計算乙個數二進位制表示中1的個數,通過(n >> i) & 1可以獲取第i位的二進位制值,每次n右移一位,可以獲取一位的二進位制值,右移32次,n變成0,迴圈終止。

#include

using

namespace std;

intmain1()

cout << count << endl;

}return0;

}#include

#include

using

namespace std;

static

int findnumberof1 (

int n)

查詢輸入整數二進位制中1的個數

譬如 輸入5 5的二進位制為101,輸出2 輸入乙個整數 計算整數二進位制中1的個數 常規做法,迴圈判斷2出現的次數,通過對2取餘看第 i 位是否為1。注意!要用unsigned型別,否則n n 2在負數的情況下只有0 右移會出錯 include using namespace std int ma...

華為OJ 查詢輸入整數二進位制中1的個數

請實現如下介面 public static int findnumberof1 intnum 譬如 輸入5 5的二進位制為101,輸出2 涉及知識點 位運算 知識點 位運算 練習階段 初級 執行時間限制 10sec 記憶體限制 128mbyte 輸入 輸入乙個整數 輸出 計算整數二進位制中1的個數 ...

整數二進位制中1的個數

輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。如果是0,返回0 如果是正整數,除二取餘法 如果是負數 3.1 如果是 2147483648 int表示最大絕對值的負數 其補碼是1000 0000 0000 0000 0000 0000 0000 0000,故返回 1 3.2 其他...