function hitungNomorBit(angka, nomorBit) {
if (nomorBit !== 0 && nomorBit !== 1) {
return null;
}
if (angka === 0) {
return (nomorBit === 0) ? 1 : 0;
}
let angkaBiner = [];
let a = angka;
while (a > 0) {
angkaBiner.push(a % 2);
a = Math.floor(a / 2);
}
let jumlah = 0;
for (let i = 0; i < angkaBiner.length; i++) {
if (angkaBiner[i] === nomorBit) {
jumlah++;
}
}
return jumlah;
}
console.log(hitungNomorBit(13, 1));
ZnVuY3Rpb24gaGl0dW5nTm9tb3JCaXQoYW5na2EsIG5vbW9yQml0KSB7CglpZiAobm9tb3JCaXQgIT09IDAgJiYgbm9tb3JCaXQgIT09IDEpIHsKCQlyZXR1cm4gbnVsbDsKCX0KCQoJaWYgKGFuZ2thID09PSAwKSB7CgkJcmV0dXJuIChub21vckJpdCA9PT0gMCkgPyAxIDogMDsKCX0KCQoJCglsZXQgYW5na2FCaW5lciA9IFtdOwoJbGV0IGEgPSBhbmdrYTsKCgl3aGlsZSAoYSA+IDApIHsKICAgIAlhbmdrYUJpbmVyLnB1c2goYSAlIDIpOyAgICAgICAgIAogICAgCWEgPSBNYXRoLmZsb29yKGEgLyAyKTsgCgl9CgkKCWxldCBqdW1sYWggPSAwOwoJZm9yIChsZXQgaSA9IDA7IGkgPCBhbmdrYUJpbmVyLmxlbmd0aDsgaSsrKSB7CiAgICAJaWYgKGFuZ2thQmluZXJbaV0gPT09IG5vbW9yQml0KSB7CiAgICAJanVtbGFoKys7CiAgICAJfQoJfQoJCglyZXR1cm4ganVtbGFoOwp9Cgpjb25zb2xlLmxvZyhoaXR1bmdOb21vckJpdCgxMywgMSkpOw==