本篇文章給大家分享的內容是PHP函數之十進制、二進制、八進制和十六進制的轉換,有著一定的參考價值,有需要的朋友可以參考一下
中文字符編碼研究系列第一期,PHP函數篇詳解十進位、二進位、八進位和十六進位互相轉換函數說明,主要掌握各進位轉換的方法,以應用於實際開發
一,十進位(decimal system)轉換函數說明
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() 函數
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() 函數
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() 將一個十六進位字串轉換為十進位數。所能轉換的最大數值為 7ffffffff,即十進制的 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) base_convert -- 在任意进制之间转换数字 说明 string base_convert ( string number, int frombase, int tobase )傳回字串,包含 number 以 tobase 進位的表示。 number 本身的進位由 frombase 指定。 frombase 和 tobase 都只能在 2 和 36 之間(包括 2 和 36)。高於十進制的數字以字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。
這裡主要是把PHP進位轉換函數進行整理,方便開發查找,相關具體函數說明請參考PHP手冊。請關注下一期中文字符編碼研究系列。
php 實作進位轉換(二進位、八進位、十六進位)互相轉換實作碼
##
以上是PHP函數之十進制、二進制、八進制和十六進制的轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!