Ngôn ngữ PHP - Chuyển đổi một số tự nhiên ở hệ số 10 thành một số ở hệ cơ số B

Viết chương trình chuyển đổi một số tự nhiên ở hệ số 10 thành một số ở hệ cơ số B (1 <= B <= 32) bất kỳ.

Code mẫu: Ví dụ chuyển đối hệ cơ số 10 sang hệ cơ số B

Giả sử hệ cơ số cần chuyển là 2 <= B <= 16. Số đại điện cho hệ cơ số B > 10 là A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.

Chúng ta tạo ra một chương trình như sau để chuyển đổi hệ cơ số trong PHP:

<?php
/**
 * chuyen doi so nguyen n sang he co so b
 *
 
 * @param n: so nguyen
 * @param b: he co so
 * @return string he co so b
 */
function convertNumber($n, $b) {
    if ($n < 0 || $b < 2 || $b > 16 ) {
        return "";
    }
     
    $result = "";
    $m = 0;
    $remainder = $n;
     
    while ($remainder > 0) {
        if ($b > 10) {
            $m = $remainder % $b;
            if ($m >= 10) {
                $result = $result . chr (55 + $m);
            } else {
                $result = $result . $m;
            }
        } else {
            $result = $result . ($remainder % $b);
        }
        $remainder = floor($remainder / $b);
    }
    return strrev($result);
}
 
// ví dụ chuyển đổi số 30 (hệ số 10) sang hệ cơ số 2 và 16
$n = 30;
echo ("So " . $n . " trong he co so 2 = " . convertNumber($n, 2) . "<br>");
echo ("So " . $n . " trong he co so 16 = " . convertNumber($n, 16));
 
// ví dụ chuyển đổi số 15 (hệ số 10) sang hệ cơ số 2 và 16
$n = 15;
echo ("So " . $n . " trong he co so 2 = " . convertNumber($n, 2) . "<br>");
echo ("So " . $n . " trong he co so 16 = " . convertNumber($n, 16));
?>

Xem ví dụ