[leetCode] D-13~14. Bit Manipulation, Hamming Weight
2472 ワード
ANDビット演算(&)
ビット演算子&は、ビットの論理積の演算子です.
2つの被演算子の各位置に対応するビットが1である場合、1が返されます.
演算子によって32ビット整数に変換され、一連のビット0と1として表される.
ビート
0と1の数をバイナリで表す
演算子
&:ビットの論理乗算演算子
バイナリで表される2つの被演算子の交差を返します.
a & b
|:ビットの論理演算子
単寧頭皮演算子の和セットをバイナリで返します.
a | b
^:ビットの排他的論理演算子
バイナリで表される2つの被演算子の排他的適合セットを返します.
a | b
簡単に言えば、各ビット数は0に等しく、異なる値は1に等しい.
aとbの各ビット数を前から比較します.
1,0 =>1
0,1 =>1
1,1 =>0
は110=>6を返します.
~:ビットの否定演算子(XOR)
現在の値をバイナリビットに変換した後、0を1、1を0に変換します.
console.log(~5) // -5
console.log(~-5) // 4
>>切り替え演算子
<<
と>>
の2つの演算子があります.a<
5 => 101
5 << 3 = 101000
右に移動するのも同じです.10 => 1010
1010 >> 3 = 0001
ビットの位置がその数字の長さを超えた場合.つまり、最大値または最小値より大きい位置に切り替えると自動的に破棄されます.
Hamming Weight
は、データから1個まで数えるアルゴリズムです.
ここにはいろいろなアルゴリズムがあります.
質問に答える
🔆 D-13
🔆 D-14
Reference
Reference
この問題について([leetCode] D-13~14. Bit Manipulation, Hamming Weight), 我々は、より多くの情報をここで見つけました https://velog.io/@gygy/Bit-Manipulationテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol