function hitungNomorBit(angka, nomorBit) {
if (nomorBit !== 0 && nomorBit !== 1) {
return null;
}
if (angka === 0) {
if (nomorBit === 0) return 1;
else return 0;
}
let jumlahKemunculan = 0;
let sisaBagi;
while (angka > 0) {
sisaBagi = angka % 2;
if (sisaBagi === nomorBit) {
jumlahKemunculan++;
}
angka = (angka - sisaBagi) / 2;
}
return jumlahKemunculan;
}
ZnVuY3Rpb24gaGl0dW5nTm9tb3JCaXQoYW5na2EsIG5vbW9yQml0KSB7CiAgICBpZiAobm9tb3JCaXQgIT09IDAgJiYgbm9tb3JCaXQgIT09IDEpIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBpZiAoYW5na2EgPT09IDApIHsKICAgICAgICBpZiAobm9tb3JCaXQgPT09IDApIHJldHVybiAxOwogICAgICAgIGVsc2UgcmV0dXJuIDA7CiAgICB9CgogICAgbGV0IGp1bWxhaEtlbXVuY3VsYW4gPSAwOwogICAgbGV0IHNpc2FCYWdpOwoKICAgIHdoaWxlIChhbmdrYSA+IDApIHsKICAgICAgICBzaXNhQmFnaSA9IGFuZ2thICUgMjsKCiAgICAgICAgaWYgKHNpc2FCYWdpID09PSBub21vckJpdCkgewogICAgICAgICAgICBqdW1sYWhLZW11bmN1bGFuKys7CiAgICAgICAgfQoKICAgICAgICBhbmdrYSA9IChhbmdrYSAtIHNpc2FCYWdpKSAvIDI7CiAgICB9CgogICAgcmV0dXJuIGp1bWxhaEtlbXVuY3VsYW47Cn0KCgoK