计算机内部只有二进制数
我们生活中常用的就是十进制。
计算机科学中经常使用的数制还有八进制和 十六进制数
进位计数制:简称数制-是按进位方式进行计数的数制叫做进位计数制。
例如:“逢十进一”是十进制,“逢二进一”是二进制,“逢R进一”就是R进制
数码:每种数制中表示基本数值大小的数字符号。(多少进制数码就是多少)
基数:每种数制中数码的个数。
最大数码=基数-1
比如 2进制 转换为 10进制:
数码:2
基数:5。
最大数码=基数-1
(10101)2=1*2^0 + 0*2^1 + 1*2^2 +0*2^3 + 1* 2^4
=1 + 0 + 4 + 0 + 16
=21.
=21.
8进制 转换为 10进制
(23)8= 3*8^0 + 2*8^1
=19
=19
16进制 转换为 10进制:
(a2)16 = 2*16^0 + a*16^1
=2 + 10*16
= 162
(a2)16 = 2*16^0 + a*16^1
=2 + 10*16
= 162
10进制 转换为 2进制 8进制 16进制的方法
比如 10进制 转换为 2进制 以 20 为例子
步骤
20/2=10................余数0
10/2 = 5................余数0
5/2 = 2................余数1
2/2 = 1................余数0
1/2 = 0................余数1(20)10 = (10100)2
方法:要转换的10进制数 除以 要转换的进制数 倒去余数10进制的转换伟 8进制 以20 为例子
步骤
20/8= 2................余数4
2/8 = 0................余数2
(20)10 = (24)816进制的转换伟 8进制 以20 为例子
20/16= 1................余数4
1/16 = 0................余数1(20)10 = (14)16
步骤
20/2=10................余数0
10/2 = 5................余数0
5/2 = 2................余数1
2/2 = 1................余数0
1/2 = 0................余数1(20)10 = (10100)2
方法:要转换的10进制数 除以 要转换的进制数 倒去余数10进制的转换伟 8进制 以20 为例子
步骤
20/8= 2................余数4
2/8 = 0................余数2
(20)10 = (24)816进制的转换伟 8进制 以20 为例子
20/16= 1................余数4
1/16 = 0................余数1(20)10 = (14)16
常用进制数码表示如下表所示:
书写:
(1)数字后加字母
ØBinary :二进制数 10010100B
ØDecimal:十进制数 148D(可省略)
ØOctonary:八进制数 224O或Q 或是 0224
ØHexaDecimal :十六进制数 94H 或是 0x94
(2)括号外加下标
Ø(1001)2 (1275.1)8 (14AF.5)16
一,十进制(decimal system)转换函数说明
1,十进制转二进制 decbin() 函数 ,如下实例
1,十进制转二进制 decbin() 函数 ,如下实例
echo decbin(12); //输出 1100
echo decbin(26); //输出 11010 decbin
(PHP 3, PHP 4, PHP 5)
decbin -- 十进制转换为二进制
说明
string decbin ( int number )
返回一字符串,包含有给定 number 参数的二进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 32 个 1 的字符串。2,十进制转八进制 decoct() 函数
(PHP 3, PHP 4, PHP 5)
decbin -- 十进制转换为二进制
说明
string decbin ( int number )
返回一字符串,包含有给定 number 参数的二进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 32 个 1 的字符串。2,十进制转八进制 decoct() 函数
echo decoct(15); //输出 17
echo decoct(264); //输出 410 decoct
(PHP 3, PHP 4, PHP 5)
decoct -- 十进制转换为八进制
说明
string decoct ( int number )
返回一字符串,包含有给定 number 参数的八进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 "37777777777"。3,十进制转十六进制 dechex() 函数
(PHP 3, PHP 4, PHP 5)
decoct -- 十进制转换为八进制
说明
string decoct ( int number )
返回一字符串,包含有给定 number 参数的八进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 "37777777777"。3,十进制转十六进制 dechex() 函数
echo dechex(10); //输出 a
echo dechex(47); //输出 2f dechex
(PHP 3, PHP 4, PHP 5)
dechex -- 十进制转换为十六进制
说明
string dechex ( int number )
返回一字符串,包含有给定 number 参数的十六进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 "ffffffff"。二,二进制(binary system)转换函数说明
1,二进制转十六制进 bin2hex() 函数$binary = "11111001"; $hex = dechex(bindec($binary)); echo $hex;//输出f9 bin2hex
(PHP 3 >= 3.0.9, PHP 4, PHP 5)
bin2hex -- 将二进制数据转换成十六进制表示
说明
string bin2hex ( string str )
返回 ASCII 字符串,为参数 str 的十六进制表示。转换使用字节方式,高四位字节优先。2,二进制转十制进 bindec() 函数echo bindec('110011'); //输出 51 echo bindec('000110011'); //输出 51 echo bindec('111'); //输出 7 bindec
(PHP 3, PHP 4, PHP 5)
bindec -- 二进制转换为十进制
说明
number bindec ( string binary_string )
返回 binary_string 参数所表示的二进制数的十进制等价值。
bindec() 将一个二进制数转换成 integer。可转换的最大的数为 31 位 1 或者说十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数值,这种情况下,它会返回 float 类型。三,八进制(octal system)转换函数说明
八进制转十进制 octdec() 函数echo octdec('77'); //输出 63 echo octdec(decoct(45)); //输出 45 octdec
(PHP 3, PHP 4, PHP 5)
octdec -- 八进制转换为十进制
说明
number octdec ( string octal_string )
返回 octal_string 参数所表示的八进制数的十进制等值。可转换的最大的数值为 17777777777 或十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数字,这种情况下,它会返回 float 类型。四,十六进制(hexadecimal)转换函数说明
十六进制转十进制 hexdec()函数var_dump(hexdec("See")); var_dump(hexdec("ee")); // both print "int(238)" var_dump(hexdec("that")); // print "int(10)" var_dump(hexdec("a0")); // print "int(160)" hexdec
(PHP 3, PHP 4, PHP 5)
hexdec -- 十六进制转换为十进制
说明
number hexdec ( string hex_string )
返 回与 hex_string 参数所表示的十六进制数等值的的十进制数。hexdec() 将一个十六进制字符串转换为十进制数。所能转换的最大数值为 7fffffff,即十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数字,这种情况下,它会返回 float 类型。
hexdec() 将遇到的所有非十六进制字符替换成 0。这样,所有左边的零都被忽略,但右边的零会计入值中。
(PHP 3, PHP 4, PHP 5)
dechex -- 十进制转换为十六进制
说明
string dechex ( int number )
返回一字符串,包含有给定 number 参数的十六进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 "ffffffff"。二,二进制(binary system)转换函数说明
1,二进制转十六制进 bin2hex() 函数$binary = "11111001"; $hex = dechex(bindec($binary)); echo $hex;//输出f9 bin2hex
(PHP 3 >= 3.0.9, PHP 4, PHP 5)
bin2hex -- 将二进制数据转换成十六进制表示
说明
string bin2hex ( string str )
返回 ASCII 字符串,为参数 str 的十六进制表示。转换使用字节方式,高四位字节优先。2,二进制转十制进 bindec() 函数echo bindec('110011'); //输出 51 echo bindec('000110011'); //输出 51 echo bindec('111'); //输出 7 bindec
(PHP 3, PHP 4, PHP 5)
bindec -- 二进制转换为十进制
说明
number bindec ( string binary_string )
返回 binary_string 参数所表示的二进制数的十进制等价值。
bindec() 将一个二进制数转换成 integer。可转换的最大的数为 31 位 1 或者说十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数值,这种情况下,它会返回 float 类型。三,八进制(octal system)转换函数说明
八进制转十进制 octdec() 函数echo octdec('77'); //输出 63 echo octdec(decoct(45)); //输出 45 octdec
(PHP 3, PHP 4, PHP 5)
octdec -- 八进制转换为十进制
说明
number octdec ( string octal_string )
返回 octal_string 参数所表示的八进制数的十进制等值。可转换的最大的数值为 17777777777 或十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数字,这种情况下,它会返回 float 类型。四,十六进制(hexadecimal)转换函数说明
十六进制转十进制 hexdec()函数var_dump(hexdec("See")); var_dump(hexdec("ee")); // both print "int(238)" var_dump(hexdec("that")); // print "int(10)" var_dump(hexdec("a0")); // print "int(160)" hexdec
(PHP 3, PHP 4, PHP 5)
hexdec -- 十六进制转换为十进制
说明
number hexdec ( string hex_string )
返 回与 hex_string 参数所表示的十六进制数等值的的十进制数。hexdec() 将一个十六进制字符串转换为十进制数。所能转换的最大数值为 7fffffff,即十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数字,这种情况下,它会返回 float 类型。
hexdec() 将遇到的所有非十六进制字符替换成 0。这样,所有左边的零都被忽略,但右边的零会计入值中。
五,任意进制转换 base_convert() 函数
$hexadecimal = 'A37334';
echo base_convert($hexadecimal, 16, 2);//输出 101000110111001100110100
base_convert (PHP 3 >= 3.0.6, PHP 4, PHP 5)
例子 1
把八进制数转换为十进制数:
<?php $oct = "0031"; $dec = base_convert($oct,8,10); echo "八进制的 $oct 等于十进制的 $dec。"; ?>
输出:
八进制的 0031 等于十进制的 25。 例子 2
把八进制数转换为十六进制数:
<?php $oct = "364"; $hex = base_convert($oct,8,16); echo "八进制的 $oct 等于十六进制的 $hex。"; ?>
输出:
八进制的 364 等于十六进制的 f4。