<?php
function hitungNomorBit(int $angka, int $nomorBit) {
$biner = [];
while ($angka > 0) {
$sisa = $angka % 2;
$angka = intdiv($angka, 2);
}
if (!isset($biner[$nomorBit])) { return null;
}
if ($biner[$nomorBit] == 0) {
return 1;
} else {
$jumlah = 0;
for ($i = $nomorBit; $i < count($biner); $i++) { if ($biner[$i] == 1) {
$jumlah++;
}
}
return $jumlah;
}
}
echo hitungNomorBit(13, 0) . "\n";
echo hitungNomorBit(13, 1) . "\n";
PD9waHAKCmZ1bmN0aW9uIGhpdHVuZ05vbW9yQml0KGludCAkYW5na2EsIGludCAkbm9tb3JCaXQpIHsKICAgICRiaW5lciA9IFtdOwoKICAgIHdoaWxlICgkYW5na2EgPiAwKSB7CiAgICAgICAgJHNpc2EgPSAkYW5na2EgJSAyOwogICAgICAgIGFycmF5X3Vuc2hpZnQoJGJpbmVyLCAkc2lzYSk7CiAgICAgICAgJGFuZ2thID0gaW50ZGl2KCRhbmdrYSwgMik7CiAgICB9CgogICAgaWYgKCFpc3NldCgkYmluZXJbJG5vbW9yQml0XSkpIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBpZiAoJGJpbmVyWyRub21vckJpdF0gPT0gMCkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICAkanVtbGFoID0gMDsKICAgICAgICBmb3IgKCRpID0gJG5vbW9yQml0OyAkaSA8IGNvdW50KCRiaW5lcik7ICRpKyspIHsKICAgICAgICAgICAgaWYgKCRiaW5lclskaV0gPT0gMSkgewogICAgICAgICAgICAgICAgJGp1bWxhaCsrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAkanVtbGFoOwogICAgfQp9CgplY2hvIGhpdHVuZ05vbW9yQml0KDEzLCAwKSAuICJcbiI7CmVjaG8gaGl0dW5nTm9tb3JCaXQoMTMsIDEpIC4gIlxuIjsKdmFyX2R1bXAoaGl0dW5nTm9tb3JCaXQoMTMsIDIpKTsK