php實現的任意進製互轉類分享

2022-10-06 10:24:11 字數 1291 閱讀 4187

之前不知道php自帶有base_convert可以實現任意進製之間的轉換,自己寫了乙個。。。。

<?php /**

* 進製轉換類

* @author sgf@funcity

* @version 2011-02-15

*/class hex

if($out_hex == $in_hex)

if($out_hex > self::$hex_max || $out_hex < self::$hex_min)

if($in_hex > self::$hex_max || $in_hex < self::$hex_min)

$hex_10 = $this->_conv2hex10($int,$in_hex);

return strtoupper($this->_conv_hex($hex_10,$out_hex)); }

/*** 將任意進製數字轉為10進製數字

*/ private fun程式設計客棧ction _conv2hex10($int,$in_hex)elseif( $in_hex== 2 && function_exists('bindec')) elseif($in_hex== 16 && function_exists('hexdec')) elseif($in_hex== 8 && function_exists('octdec'))

$array = array();

$result = 0;

for($i=0;$i $v)

$result += intval( pow($in_hex,$k) * $hex10_value ); }

return $result; }

/*** 把10進製數換成任意進製數

*/ private function _conv_hex($hex_10,$out_hex)else if( $out_hex==2 && function_exists('decbin')) elseif ( $out_hex ==16 && function_exists('dechex')) elseif ( $out_hex ==8 && function_exists('decoct'))

$array = array();

$result = "";

//利用10程式設計客棧進製數除任意進製數 倒取餘數法轉換。

do while ($hex_10>1);

foreach($array as $k)

return $result; }

}?>

本文標題: php實現的任意進製互轉類分享

本文位址:

任意進製與10進製的互轉 62進製

假設乙個r進製的數為an 1an 2an 3 a0 將其轉換為10進製的公式為 y an 1 rn 1 an 1 rn 2 a0 r0 r0的值為1,因此也可以寫為 y an 1 rn 1 an 1 rn 2 a0 公式1 公式1可以變形為 y a0 r w,其中 w an 1 rn a0為y r的...

C 實現任意進製的相互轉換

進製轉換是計算機內部時時刻刻都在進行活動,本篇文章也是進製轉換的演算法介紹,不過不同的是我想利用ascll編碼實現2到61之間任意進製的相互轉換,更大進製的表示方法只不過是十六進製制表示方法的延伸 用字母a到z表示整數10到35,字母a到z表示整數36到61。這樣就可以表示2到61之間的任意進製啦,...

C 實現任意進製的相互轉換

進製轉換是計算機內部時時刻刻都在進行活動,本篇文章也是進製轉換的演算法介紹,不過不同的是我想利用ascll編碼實現2到61之間任意進製的相互轉換,更大進製的表示方法只不過是十六進製制表示方法的延伸 用字母a到z表示整數10到35,字母a到z表示整數36到61。這樣就可以表示2到61之間的任意進製啦,...