《PHP學習:PHP實現十進制、二進制、八進制和十六進制轉換相關函數用法分析》要點:
本文介紹了PHP學習:PHP實現十進制、二進制、八進制和十六進制轉換相關函數用法分析,希望對您有用。如果有疑問,可以聯系我們。
PHP實戰本文實例講述了PHP實現十進制、二進制、八進制和十六進制轉換相關函數用法.分享給大家供大家參考,具體如下:
PHP實戰1.二進制:
PHP實戰1.1.二進制轉十進制:
PHP實戰函數:bindec(string $binary_string)
PHP實戰@param $binary_string 參數表示所要轉換的二進制字符串.
@return? 返回與$binary_string參數所表示的二進制數的十進制數等價值.
PHP實戰函數說明:
PHP實戰bindec()
將一個二進制數轉換成Integer類型或者出于大小的需要,轉換為float類型.bindec()
將所有的$binary_string值解釋為無符號整數.這是因為bindec()函數將其最高有效位視為數量級而非符號位.【即最高位0或1并不被bindec()表示為+或-而是按值來表示1就是1,0就是0】
PHP實戰注意:參數必須為字符串,使用其他的數據類型會導致不可預知的結果.
PHP實戰范例:
PHP實戰
<?php
echo bindec('10010') . "\n";
echo bindec('00110') . "\n";
echo bindec('1111') . "\n";
PHP實戰以上程序語句會依次輸出:18,6,15
PHP實戰1.2.二進制轉十六進制
PHP實戰函數:bin2hex(string $str)
PHP實戰@param? $str 將要轉換的ASCII字符的字符串.
@return? 返回轉換字符串的十六進制值.
PHP實戰函數說明:
PHP實戰bin2hex()
函數把 ASCII 字符的字符串轉換為十六進制值.字符串可通過使用 pack() 函數再轉換回去.bin2hex()
函數轉換使用字節方式,高四位字優先.
PHP實戰范例:
PHP實戰(1)bin2hex()
轉換‘chengdu'為十六進制值:
PHP實戰
<?php
$str = bin2hex('chengdu');
echo $str;
PHP實戰以上程序語句會輸出:6368656e676475
PHP實戰(2)把一個字符串值從二進制轉換為十六進制,再轉換回去:
PHP實戰
<?php
$str = 'chengdu';
echo bin2hex($str) . "<br/>";
echo pack("H*", bin2hex($str)) . "<br/>";
PHP實戰以上程序語句依次輸出:6368656e676475, chengdu
PHP實戰2.八進制:
PHP實戰2.1.八進制轉十進制:
PHP實戰函數:octdec(string $octal_string)
PHP實戰@param? $octal_string 參數表示將要轉換的八進制字符串.
@return?? 返回$octal_string參數所表示的八進制數的十進制等值.
PHP實戰函數說明:
PHP實戰octdec()
可以處理Integer大數字,但在這種情況下它會返回float類型.
PHP實戰范例:
PHP實戰
<?php
echo octdec( '010' ) . "\n";
echo octdec( decoct( 45 ) );
PHP實戰以上程序語句會輸出:8, 45
PHP實戰3.十進制:
PHP實戰3.1.十進制轉二進制:
PHP實戰函數:decbin(int $number)
PHP實戰@param? $number? 所要轉換的十進制數字,所能轉換的最大數值為十進制的4294967295,其decbin結果為 32 個 1 的字符串.
@return?? 返回十進制數字轉換后的二進制字符串.
PHP實戰函數說明:
PHP實戰decbin()
函數所能轉換的最大十進制數值為4294967295,其結果為 32 個 1 的字符串.
PHP實戰范例:
PHP實戰
<?php
echo decbin ( 10 ) . "\n";
echo decbin ( 50 );
PHP實戰以上程序語句會輸出:1010, 110010
PHP實戰3.2.十進制轉八進制:
PHP實戰函數:decoct(int $number)
PHP實戰@param? $number 所要轉換的十進制數字,所能轉換的最大數值是十進制的4294967295,其decoct()結果為 "37777777777".
@return?? 返回一個包含有給定$number參數的八進制表示的字符串.
PHP實戰函數說明:
PHP實戰decoct()
函數所能轉換的最大十進制數數值為4294967295,其結果為 "37777777777".
PHP實戰范例:
PHP實戰
<?php
echo decoct ( 10 ) . "\n" ;
echo decoct ( 50 );
PHP實戰以上程序語句會依次輸出:12, 62
PHP實戰3.3.十進制轉十六進制:
PHP實戰函數:dechex(int $number)
PHP實戰@param $number 將要轉換的十進制數字.
@return?? 返回一個包含給定$number參數的十六進制表示的字符串.
PHP實戰函數說明:
PHP實戰dechex()
函數所能轉換的十進制的最大數值是:PHP_INT_MAX*2 +/- 1,在32位系統上是十進制的4294967295,其dechex()
的結果為ffffffff.
PHP實戰注意:PHP的Integer類型是有符號的,但是dechex()只能處理無符號整數,負整數會以無符號來處理.
PHP實戰范例:
PHP實戰
<?php
echo dechex ( 10 ) . "\n" ;
echo dechex ( 58 );
PHP實戰以上程序語句會依次輸出:a, 3a
PHP實戰4.十六進制:
PHP實戰4.1.十六進制轉二進制:
PHP實戰函數:hex2bin(string $data);
?? 轉換十六進制字符串為二進制字符串
PHP實戰@param? $data? 使用十六進制表示的數據.
@return??? 返回給定數據的二進制字符串或者在失敗時返回FALSE.
PHP實戰函數說明:
PHP實戰如果輸入的十六進制字符串是奇數長度或者是無效的十六進制字符串,則會拋出一個E_WARNING級別的錯誤.
PHP實戰范例:
PHP實戰
<?php
$hex = hex2bin ( "6368656e67206475" );
echo $hex;
PHP實戰以上程序語句會輸出:cheng du
PHP實戰4.2十六進制轉十進制:
PHP實戰函數:hexdec(string $hex_string);
?? 轉換十六進制字符串為二進制字符串
PHP實戰@param? $hex_string 將要轉換的十六進制的字符串.
@return??? 返回與$hex_string參數所表示的十六進制數等值的十進制數.
PHP實戰函數說明:
PHP實戰hexdec()
會忽略它遇到的任意非十六進制的字符.
PHP實戰PHP 4.1.0 開始,該函數可以處理 integer大數字,這種情況下,它會返回float類型.
PHP實戰范例:
PHP實戰
<?php
var_dump ( hexdec ( "See" ));
var_dump ( hexdec ( "ee" ));
// 上面兩個都輸出: "int(238)"
var_dump ( hexdec ( "that" )); // 輸出"int(10)"
var_dump ( hexdec ( "a0" )); // 輸出"int(160)"
//通過上面的例子可以看出來:hexdec()會忽略它遇到的任意非十六進制的字符.
PHP實戰5.任意進制轉換的base_convert() 函數:
PHP實戰函數:base_convert(string $number, int $frombase, int $tobase)
PHP實戰@param $number 將要轉換的的數.
@param? $frombase參數$number的進制.
@param? $tobase 將要轉換成的進制.
@return?? 返回一個包含$number以$tobase進制表示的字符串.
PHP實戰函數說明:
PHP實戰$number本身的進制由$formbase來指定.
$formbase和$tobase都只能是2和36(包括2和36)之間的整數值.
PHP實戰注意:由于使用內部的 "double" 或 "float" 類型,base_convert()的操作可能會導致大數值中的精度丟失.
PHP實戰范例:
PHP實戰
<?php
$hexadecimal = 'A37334' ;
echo base_convert ( $hexadecimal , 16 , 2 );
//print 101000110111001100110100
echo base_convert ( $hexadecimal , 16 , a);
//print 10711860
PHP實戰PS:這里再為大家推薦幾款計算與轉換工具供大家參考使用:
PHP實戰在線任意進制轉換工具:
http://tools.jb51.net/transcoding/hexconvert
PHP實戰科學計算器在線使用_高級計算器在線計算:
http://tools.jb51.net/jisuanqi/jsqkexue
PHP實戰在線計算器_標準計算器:
http://tools.jb51.net/jisuanqi/jsq
PHP實戰更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數學運算技巧總結》、《PHP數組(Array)操作技巧大全》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《PHP運算與運算符用法總結》、《php字符串(string)用法總結》及《php常見數據庫操作技巧匯總》
PHP實戰希望本文所述對大家PHP程序設計有所幫助.