成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? PHP實現十進制、二進制、八進制和十六進制轉換相關函數用法分析
全站頭部文字 我要出現在這里
PHP實現十進制、二進制、八進制和十六進制轉換相關函數用法分析 685 2024-01-10   

本文實例講述了PHP實現十進制、二進制、八進制和十六進制轉換相關函數用法。分享給大家供大家參考,具體如下:

1.二進制:

1.1.二進制轉十進制:

函數:bindec(string $binary_string)

@param $binary_string 參數表示所要轉換的二進制字符串。
@return 返回與$binary_string參數所表示的二進制數的十進制數等價值。

函數說明:

bindec()將一個二進制數轉換成Integer類型或者出于大小的需要,轉換為float類型。
bindec()將所有的$binary_string值解釋為無符號整數。這是因為bindec()函數將其最高有效位視為數量級而非符號位。【即最高位0或1并不被bindec()表示為+或-而是按值來表示1就是1,0就是0】

注意:參數必須為字符串,使用其他的數據類型會導致不可預知的結果。

范例:

<?php
  echo bindec('10010') . "n";
  echo bindec('00110') . "n";
  echo bindec('1111') . "n";

以上程序語句會依次輸出:18,6,15

1.2.二進制轉十六進制

函數:bin2hex(string $str)

@param $str 將要轉換的ASCII字符的字符串。
@return 返回轉換字符串的十六進制值。

函數說明:

bin2hex() 函數把 ASCII 字符的字符串轉換為十六進制值。字符串可通過使用 pack() 函數再轉換回去。
bin2hex() 函數轉換使用字節方式,高四位字優先。

范例:

(1)bin2hex()轉換‘chengdu'為十六進制值:

<?php
  $str = bin2hex('chengdu');
  echo $str;

以上程序語句會輸出:6368656e676475

(2)把一個字符串值從二進制轉換為十六進制,再轉換回去:

<?php
  $str = 'chengdu';
  echo bin2hex($str) . "<br/>";
  echo pack("H*", bin2hex($str)) . "<br/>";

以上程序語句依次輸出:6368656e676475, chengdu

2.八進制:

2.1.八進制轉十進制:

函數:octdec(string $octal_string)

@param $octal_string 參數表示將要轉換的八進制字符串。
@return 返回$octal_string參數所表示的八進制數的十進制等值。

函數說明:

octdec()可以處理Integer大數字,但在這種情況下它會返回float類型。

范例:

<?php
  echo octdec( '010' ) . "n";
  echo octdec( decoct( 45 ) );

以上程序語句會輸出:8, 45

3.十進制:

3.1.十進制轉二進制:

函數:decbin(int $number)

@param $number 所要轉換的十進制數字,所能轉換的最大數值為十進制的4294967295,其decbin結果為 32 個 1 的字符串。
@return 返回十進制數字轉換后的二進制字符串。

函數說明:

decbin()函數所能轉換的最大十進制數值為4294967295,其結果為 32 個 1 的字符串。

范例:

<?php
  echo decbin ( 10 ) . "n";
  echo decbin ( 50 );

以上程序語句會輸出:1010, 110010

3.2.十進制轉八進制:

函數:decoct(int $number)

@param $number 所要轉換的十進制數字,所能轉換的最大數值是十進制的4294967295,其decoct()結果為 "37777777777"。
@return 返回一個包含有給定$number參數的八進制表示的字符串。

函數說明:

decoct()函數所能轉換的最大十進制數數值為4294967295,其結果為 "37777777777"。

范例:

<?php
  echo decoct ( 10 ) . "n" ;
  echo decoct ( 50 );

以上程序語句會依次輸出:12, 62

3.3.十進制轉十六進制:

函數:dechex(int $number)

@param $number 將要轉換的十進制數字。
@return 返回一個包含給定$number參數的十六進制表示的字符串。

函數說明:

dechex()函數所能轉換的十進制的最大數值是:PHP_INT_MAX*2 +/- 1,在32位系統上是十進制的4294967295,其dechex()的結果為ffffffff。

注意:PHP的Integer類型是有符號的,但是dechex()只能處理無符號整數,負整數會以無符號來處理。

范例:

<?php
  echo dechex ( 10 ) . "n" ;
  echo dechex ( 58 );

以上程序語句會依次輸出:a, 3a

4.十六進制:

4.1.十六進制轉二進制:

函數:hex2bin(string $data); 轉換十六進制字符串為二進制字符串

@param $data 使用十六進制表示的數據。
@return 返回給定數據的二進制字符串或者在失敗時返回FALSE。

函數說明:

如果輸入的十六進制字符串是奇數長度或者是無效的十六進制字符串,則會拋出一個E_WARNING級別的錯誤。

范例:

<?php
  $hex = hex2bin ( "6368656e67206475" );
  echo $hex;

以上程序語句會輸出:cheng du

4.2十六進制轉十進制:

函數:hexdec(string $hex_string); 轉換十六進制字符串為二進制字符串

@param $hex_string 將要轉換的十六進制的字符串。
@return 返回與$hex_string參數所表示的十六進制數等值的十進制數。

函數說明:

hexdec()會忽略它遇到的任意非十六進制的字符。

PHP 4.1.0 開始,該函數可以處理 integer大數字,這種情況下,它會返回float類型。

范例:

<?php
  var_dump ( hexdec ( "See" ));
  var_dump ( hexdec ( "ee" ));
  // 上面兩個都輸出: "int(238)"
  var_dump ( hexdec ( "that" )); // 輸出"int(10)"
  var_dump ( hexdec ( "a0" )); // 輸出"int(160)"
  //通過上面的例子可以看出來:hexdec()會忽略它遇到的任意非十六進制的字符。

5.任意進制轉換的base_convert() 函數:

函數:base_convert(string $number, int $frombase, int $tobase)

@param $number 將要轉換的的數。
@param $frombase參數$number的進制。
@param $tobase 將要轉換成的進制。
@return 返回一個包含$number以$tobase進制表示的字符串。

函數說明:

$number本身的進制由$formbase來指定。
$formbase和$tobase都只能是2和36(包括2和36)之間的整數值。

注意:由于使用內部的 "double" 或 "float" 類型,base_convert()的操作可能會導致大數值中的精度丟失。

范例:

<?php
  $hexadecimal = 'A37334' ;
  echo base_convert ( $hexadecimal , 16 , 2 );
  //print 101000110111001100110100
  echo base_convert ( $hexadecimal , 16 , a);
  //print 10711860

PS:這里再為大家推薦幾款計算與轉換工具供大家參考使用:

在線任意進制轉換工具:
http://tools.gimoo.net/transcoding/hexconvert

科學計算器在線使用_高級計算器在線計算:
http://tools.gimoo.net/jisuanqi/jsqkexue

在線計算器_標準計算器:
http://tools.gimoo.net/jisuanqi/jsq

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數學運算技巧總結》、《PHP數組(Array)操作技巧大全》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《PHP運算與運算符用法總結》、《php字符串(string)用法總結》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。



主站蜘蛛池模板: 男人伤感失落孤独头像| 孕妇能吃杏仁吗| 骨骺线闭合增高9厘米| 粤韵风华| 宇宙战队| 小矮人在线观看完整版| 土壤动植物的乐园教学反思| 爆操大胸美女| 河南省gdp城市排名| 捷克女人性ⅹxxxx视频| 都市频道节目表| 公交车上的那些事| angelina全集在线观看| 维尼琼斯| 第一财经今日股市直播间在线直播| 黑之教室| 免费看污污| 我的抗战| 谍变1939电视剧剧情介绍| 长句变短句的例题| 《缱绻少年人》| 国生小百合| 流浪地球2视频免费播放下载| 萱草花合唱谱二声部| 乱世三人行| 2014春节联欢晚会| 航班危机电影| 潇湘影院| 向阳花图片| 广濑大介| 祖卡尔| 富含维生素c的水果和蔬菜| 我记得你| 护校队申请书| 菊花开| xxxxxxxx| 韩绛| 九龙虫粪便的功效与吃法| 迷失美剧| 加入民盟的好处和坏处| 卧虎在线观看|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103