<>--javascript(9)-バイナリ数のうち1の個数

466 ワード

2進数のうち1の個数
テーマの説明
一つの整数を入力して、この数のバイナリ表現の中の1の個数を出力します.負の数は補数で表します.
コードは以下の通りです
function NumberOf1(n)
{
       var count = 0;
        while (n != 0) {
            if ((n & 1) == 1) {
                count++;
            }
            n = n >>> 1;
        }
        return count;
}
module.exports = {
    NumberOf1 : NumberOf1
};
基本的な考え方
整数の2進数を右から開始し、各ビットと1を操作し、結果が1であればcountを加算し、2進数を0にするまで1ビット右にシフトします.