PHP 程序将十进制值转换为二进制值


2022 年 2 月 15 日, Learn eTutorial
1995

如何将十进制值转换为二进制值?

要将十进制值转换为二进制值,我们需要将十进制数除以 2 并得到一个整数商,然后再次将余数除以 2 并得到商,重复此过程直到商变为 0。之后,我们必须以相反的顺序打印商。例如,如果十进制数是 10

10 / 2 = 5  余数 0

5 / 2 = 2   余数 1

2 / 2 = 1   余数 0

1 / 2 = 0   余数 1

10 的二进制等价物将是 1010

如何使用 PHP 将十进制值转换为二进制值?

在此程序中,我们接受用户输入的十进制值并将其赋值给变量 num,然后我们必须调用带参数 num 的用户定义函数 decToBin()。在函数 decToBin() 中,我们首先创建一个空数组 binNum[],然后将值 0 赋给变量 i。之后,我们执行 while 循环 直到条件 'n > 0' 变为假,以将商值存储到数组 binNum[] 中。为此,我们首先将 'n % 2' 的计算值赋给数组 binNum[i],然后将 'n / 2' 的计算整数值赋给变量 n,最后在 while 循环完成后递增变量 i 的值。之后,我们执行 for 循环以逆序打印数组的元素。首先,将值 'i - 1' 赋给变量 j,然后执行循环直到条件 'j >= 0' 变为假,并在每次迭代中递增变量 j 的值。在循环块中,我们打印数组 binNum[i] 的值。

算法

步骤 1: 将十进制值赋给变量 num

步骤 2: 调用带参数 num 的用户定义函数 decToBin()

算法函数:dectToBin(n)

步骤 1: 创建一个空数组 binNum[]

步骤 2: 将值 0 赋给变量 i

步骤 3: 执行子步骤直到条件 'n > 0' 变为假

        (i) 将 'n % 2' 的计算值赋给数组 binNum[i]

        (ii) 将 'n / 2' 的计算整数值赋给变量 n

        (iii) 递增变量 i 的值

步骤 4: 执行 for 循环以逆序打印数组的元素。首先,将值 'i - 1' 赋给变量 j,然后执行子步骤直到条件 'j >= 0' 变为假,并在每次迭代中递增变量 j 的值

        (i) 打印数组 binNum[i] 的值

PHP 源代码

                                          <?php
function decToBin($n)
{
    $binNum = array();
    $i = 0;
    while ($n > 0) {
        $binNum[$i] = $n % 2;
        $n = (int)($n / 2);
        $i++;
    }
    for ($j = $i - 1; $j >= 0; $j--)
        echo $binNum[$j];
}
$num = readline("Enter the value in decimal: ");
echo "Binary equivalent of $num is ";
decToBin($num);
?>
                                      

输出

Enter the value in decimal: 28
Binary equivalent of 28 is 11100