📅  最后修改于: 2023-12-03 15:03:34.211000             🧑  作者: Mango
在计算机科学中,二进制是一种常见的数字表示方式。然而,在某些情况下,程序员可能需要使用二进制以外的进制。PHP中自带的进制转换函数可以将数字从一种进制转换为另一种进制。
要将十进制转换为其他进制,可以使用PHP中的base_convert()
函数。该函数接受3个参数 - 要转换的数字、要转换的进制和要转换为的进制。
下面的示例将十进制数字99转换为二进制和十六进制:
$decimal_number = 99;
// convert to binary
$binary_number = base_convert($decimal_number, 10, 2);
echo "$decimal_number in binary is $binary_number"; // 输出:99 in binary is 1100011
// convert to hexadecimal
$hex_number = base_convert($decimal_number, 10, 16);
echo "$decimal_number in hex is $hex_number"; // 输出:99 in hex is 63
在上面的示例中,base_convert()
函数首先将十进制数字99转换为二进制,然后将其转换为十六进制。输出结果表明,十进制数字99在二进制中的表示形式是1100011
,在十六进制中的表示形式是63
。
反过来,要将其他进制转换为十进制,可以使用PHP中的intval()
函数。该函数接受一个字符串参数,它是要转换的数字的字符串表示形式,以及一个可选的参数,指定要转换的数字的进制。
下面的示例将二进制数字1100011
和十六进制数字63
转换为十进制:
$binary_number = "1100011";
$hex_number = "63";
// convert binary to decimal
$decimal_number1 = intval($binary_number, 2);
echo "$binary_number in decimal is $decimal_number1"; // 输出:1100011 in decimal is 99
// convert hex to decimal
$decimal_number2 = intval($hex_number, 16);
echo "$hex_number in decimal is $decimal_number2"; // 输出:63 in decimal is 99
在上面的示例中,intval()
函数首先将二进制数字1100011
和十六进制数字63
转换为十进制。输出结果表明,二进制数字1100011
和十六进制数字63
在十进制中都表示99
。
总之,PHP中的base_convert()
和intval()
函数可用于十进制与其他进制之间的相互转换,有了这些函数,程序员就能更方便地进行数字表示转换。