給定乙個長度為n的數列,請你求出數列中每個數的二進位制表示中1的個數。
輸入格式
第一行包含整數n。第二行包含n個整數,表示整個數列。
輸出格式
共一行,包含n個整數,其中的第 i 個數表示數列中的第 i 個數的二進位制表示中1的個數。
資料範圍
1≤n≤100000,0≤數列中元素的值≤109
輸入樣例:
51 2 3 4 5
輸出樣例:
1 1 2 1 2
這個題可以直接取模
#include
using
namespace std;
intmain()
cout<' ';
}return0;
}
也可以像這樣用lowbit函式做
#include
using
namespace std;
intlowbit
(int x)
intmain()
return0;
}
二進位制中1的個數 (位運算)
題目描述 輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。知識點 1.左移運算子 1 格式 value num num 指定要移動的位數。2 運算規則 按二進位制形式把所有的數字向左移動對應的位數,高位移出 捨棄 低位的空位補零。如果移動的位數超過了該型別的最大位數,那麼編譯器會對...
查詢二進位制中1的個數 位運算
1 常見位運算符號 2 常用位運算技巧 3 輸入乙個數求該數的二進位制中1的個數 設定乙個迴圈,迴圈32次 因為int型長度是32位,如果long型就迴圈64,類推 每次讓1左移一位,然後和輸入的數進行與運算 和1進行與運算,結果取決於輸入數的二進位制位,是1結果就是1,0結果就是0 再比較 從後往...
二進位制中1的個數(位運算n n 1 )
題目描述 輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。如果乙個整數不為0,那麼這個整數至少有一位是1。如果我們把這個整數減1,那麼原來處在整數最右邊的1就會變為0,原來在1後面的所有的0都會變成1 如果最右邊的1後面還有0的話 其餘所有位將不會受到影響。舉個例子 乙個二進位制數...