二進位制中1的個數 位運算

2021-10-02 15:52:43 字數 573 閱讀 1478

給定乙個長度為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的話 其餘所有位將不會受到影響。舉個例子 乙個二進位制數...