バイナリ整数が1の数を数えます

この方法の一つ:

(バイナリ右により得られた)暴力の方法の比較:

INT _COUNT(INT X)
{ 
    int型の CNT = 0 一方、(X)
    { 
        CNT + = X&1 
        X >> = 1 
    } 
    戻りCNT。
}

方法2:

この番号と彼の小さな:(数の相比を介して)1手動で見ることができるいくつかの例を書くための魔法の方法ですが、彼らがしたい場合は、それは非常に面倒です

INT _COUNT(INT X)
{ 
    int型の CNT = 0 一方、(X)
    { 
        X&=(X- 1 )。
        CNT ++ ; 
    } 
    戻りCNT。
}

 

おすすめ

転載: www.cnblogs.com/sykline/p/10959277.html