<?php

function hitungNomorBit(int $angka, int $nomorBit): ?int {
    if ($angka < 0 || $nomorBit < 0) return null;

    // Konversi manual desimal ke biner (dari MSB ke LSB)
    $biner = [];
    while ($angka > 0) {
        array_unshift($biner, $angka % 2);
        $angka = intdiv($angka, 2);
    }

    // Jika nomorBit tidak ada, return null
    if ($nomorBit >= count($biner)) {
        return null;
    }

    // Hitung jumlah bit 1 dari posisi nomorBit sampai akhir (ke kanan)
    $jumlah = 0;
    for ($i = $nomorBit; $i < count($biner); $i++) {
        if ($biner[$i] === 1) {
            $jumlah++;
        }
    }

    return $jumlah;
}

// Fungsi cetak hasil dengan format sesuai soal
function tampilkanHasil($angka, $nomorBit) {
    $hasil = hitungNomorBit($angka, $nomorBit);
    if (is_null($hasil)) {
        echo "hitungNomorBit($angka, $nomorBit) = NULL\n";
    } else {
        echo "hitungNomorBit($angka, $nomorBit) = $hasil\n";
    }
}

// Tes sesuai soal
tampilkanHasil(13, 0); // → 1
tampilkanHasil(13, 1); // → 3
tampilkanHasil(13, 2); // → NULL
