5

これを C++ から Java に変換する方法がわかりません。ハミング重みを計算する関数です。

/** This is popcount_3() from:
 * http://en.wikipedia.org/wiki/Hamming_weight */
unsigned int popcnt32(uint32_t n) const
{
    n -= ((n >> 1) & 0x55555555);
    n = (n & 0x33333333) + ((n >> 2) & 0x33333333);
    return (((n + (n >> 4))& 0xF0F0F0F)* 0x1010101) >> 24;
}

より具体的には、uint32_t の代わりに何を使用すればよいかわかりません。また、その型が何であれ使用する場合、残りのコードは変更しないでおくことができますか?

ありがとう

4

1 に答える 1

18

それはあなたのために実装されていますInteger.bitCount(int i)

于 2013-01-12T20:36:54.690 に答える