使用 bindec() 函数将二进制转换为十进制的 PHP 程序


2022年3月11日, Learn eTutorial
1731

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

要将二进制数转换为十进制,我们必须根据其位置(从0开始反向)找到每个二进制数字的幂,并将它们相加。例如,如果输入的数字是 1011,那么我们计算 (1 × 2³) + (0 × 2²) + (1 × 2¹) + (1 × 2⁰),结果是 11。

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

在此程序中,我们使用内置函数 bindec() 将二进制转换为十进制值。首先,我们必须接受用户输入的二进制值并将其赋给变量 bin,并且我们必须创建一个值为 true 的变量 flag,并将变量 bin 的长度赋给变量 len。然后我们必须执行 for 循环来检查输入的 num 是否是有效的二进制数,首先将值 0 赋给变量 i,并执行循环直到条件 'i < len' 变为假,并且在每次迭代中递增变量 i 的值。在循环块中,我们必须检查条件 'bin[i] != 0''bin[i] != 1',如果两者都为真,则将值 false 赋给变量 flag。循环完成后,我们必须检查变量 flag 的值,如果为 true,则将内置函数 'bindec(bin)' 的值赋给变量 dec,并打印变量 dec 的值作为变量 bin 的二进制等效项,否则打印输入的数字不是有效的二进制数。

bindec() 函数的语法


bindec(binary_string);
 

算法

步骤 1: 将二进制数赋给变量 bin

步骤 2: 创建一个值为 true 的变量

步骤 3: 将变量 bin 的长度赋给变量 len

步骤 4: 执行 for 循环以检查输入的数字是否是有效的二进制数,首先将值 0 赋给变量 i,并执行以下子步骤,直到条件 'i < len' 变为假,并且在每次迭代中递增变量 i 的值

        (i) 检查条件 'bin[i] != 0''bin[i] != 1',如果两者都为真,则将值 false 赋给变量 flag

步骤 5: 检查变量 flag 的值,如果为 true,则将内置函数 'bindec(bin)' 的值赋给变量 dec,并打印变量 dec 的值作为变量 bin 的二进制等效项,否则打印输入的数字不是有效的二进制数

PHP 源代码

                                          <?php
$bin = readline("Enter the binary value: ");
$flag = true;
$len = strlen($bin);
for ($i = 0; $i < $len; $i++) {
    if ($bin[$i] != 1 && $bin[$i] != 0) {
        $flag = false;
    }
}
if ($flag) {
    $dec = bindec($bin);
    echo "Decimal equivalent of $bin is $dec";
} else {
    echo "Enter a valid binary number.";
}
?>
                                      

输出

Enter the binary value: 100111
Decimal equivalent of 100111 is 39