に可能性の重複取得:
Best algorithm to count the number of set bits in a 32-bit integer?2つの2進数を比較して、切り抜いたビット
を私は2 numbers.ifを比較して1のビットの数を取得するためのプログラムを書きたいです任意の2つの数字 の間のビットを比較して、1と0のどこで2進数が異なるかを調べる。 つまり排他的論理和(XOR)の関係です。
最初の10110
二番目01111
結果(バイナリ01111を有する)15とそれを
ような場合、図22(10110バイナリを有する)と比較11001
と答えは25になりますが、私が得たいのは、3つの1と0が違う3つです。
は
いくつかのCPUは、人口数のための特別なハードウェア命令を持っています。コンパイラがこれを知っていて、関連するコードを発行することができるかどうかを知ることは面白いでしょう。 –
これは[ハミング距離](http://en.wikipedia.org/wiki/Hamming_Distance)と呼ばれます。 – Potatoswatter
__builtin_popcount(22^15)= 3 –