Heim >Backend-Entwicklung >PHP-Tutorial >Ausführliche Erläuterung von Code- und Funktionsbeispielen zur Umsetzung der Konvertierung zwischen mehreren Hexadezimalsystemen in PHP
Eins, Dezimalzahl Dezimalkonvertierung
1, Dezimalzahl in Binärfunktion decbin(), das folgende Beispiel
echo decbin(12); //输出 1100 echo decbin(26); //输出 11010
decbin
(PHP 3, PHP 4, PHP 5)
decbin – Dezimal in Binär umwandeln
Beschreibung
string decbin (int number)
Eins zurückgebenString, der die binäre Darstellung des angegebenen Zahlenparameters enthält. Der maximal umwandelbare Wert ist 4294967295 in Dezimalzahl, was eine Folge von 32 Einsen ergibt.
2, dezimal in oktal decoct() Funktion
echo decoct(15); //输出 17 echo decoct(264); //输出 410
decoct
(PHP 3, PHP 4, PHP 5)
decoct – Dezimalzahl umwandeln in Oktal
Beschreibung
string decoct ( int number )
Gibt einen String zurück, der die oktale Darstellung des angegebenen Zahlenparameters enthält. Der maximal umwandelbare Wert ist 4294967295 in Dezimalzahl, was zu „37777777777“ führt.
3, dezimal in hexadezimal dechex() Funktion
echo dechex(10); //输出 a echo dechex(47); //输出 2f
dechex
(PHP 3, PHP 4, PHP 5)
dechex – Dezimal in konvertieren hexadezimal
Beschreibung
string dechex ( int number )
Gibt einen String zurück, der die hexadezimale Darstellung des angegebenen Zahlenparameters enthält. Der maximal umwandelbare Wert ist 4294967295 in Dezimalzahl, was zu „ffffffff“ führt.
<?php /** *十进制转二进制、八进制、十六进制 不足位数前面补零* * * @param array $datalist 传入数据array(100,123,130) * @param int $bin 转换的进制可以是:2,8,16 * @return array 返回数据 array() 返回没有数据转换的格式 */ function decto_bin($datalist,$bin) { static $arr=array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'); if(!is_array($datalist)) $datalist=array($datalist); if($bin==10)return $datalist; //相同进制忽略 $bytelen=ceil(16/$bin); //获得如果是$bin进制,一个字节的长度 $aOutChar=array(); foreach ($datalist as $num) { $t=""; $num=intval($num); if($num===0)continue; while($num>0) { $t=$arr[$num%$bin].$t; $num=floor($num/$bin); } $tlen=strlen($t); if($tlen%$bytelen!=0) { $pad_len=$bytelen-$tlen%$bytelen; $t=str_pad("",$pad_len,"0",STR_PAD_LEFT).$t; //不足一个字节长度,自动前面补充0 } $aOutChar[]=$t; } return $aOutChar; }
2, Binärkonvertierung
1, Binär-zu-Hexadezimal-bin2hex()-Funktion
$binary = "11111001"; $hex = dechex(bindec($binary)); echo $hex;//输出f9
bin2hex
(PHP 3 >= 3.0.9, PHP 4, PHP 5)
bin2hex – Binärdaten in hexadezimale Darstellung konvertieren
Anweisungen
string bin2hex (string str)
Gibt eine ASCII-Zeichenfolge zurück, die die hexadezimale Darstellung des Parameters str ist. Bei der Konvertierung wird der Byte-Modus verwendet, wobei das High-Nibble Vorrang hat.
2, Binär-zu-Dezimal-Konvertierung bindec()-Funktion
echo bindec('110011'); //输出 51 echo bindec('000110011'); //输出 51 echo bindec('111'); //输出 7
bindec
(PHP 3, PHP 4, PHP 5)
bindec – Binärkonvertierung in Dezimalzahl
Beschreibung
Zahl bindec ( Zeichenfolge Binärzeichenfolge )
Gibt das dezimale Äquivalent der Binärzahl zurück, die durch den Parameter „Binärzeichenfolge“ dargestellt wird.
bindec() wandelt eine Binärzahl in eine Ganzzahl um. Die größte Zahl, die konvertiert werden kann, ist 31 Ziffern oder 2147483647 im Dezimalformat. Ab PHP 4.1.0 kann diese Funktion große Werte verarbeiten. In diesem Fall gibt sie einen Float-Typ zurück.
<?php /** *二进制、八进制、十六进制 转十进制* * * @param array $datalist 传入数据array(df,ef) * @param int $bin 转换的进制可以是:2,8,16 * @return array 返回数据 array() 返回没有数据转换的格式 */ function bin_todec($datalist,$bin) { static $arr=array('0'=>0,'1'=>1,'2'=>2,'3'=>3,'4'=>4,'5'=>5,'6'=>6,'7'=>7,'8'=>8,'9'=>9,'A'=>10,'B'=>11,'C'=>12,'D'=>13,'E'=>14,'F'=>15); if(!is_array($datalist))$datalist=array($datalist); if($bin==10)return $datalist; //为10进制不转换 $aOutData=array(); //定义输出保存数组 foreach ($datalist as $num) { $atnum=str_split($num); //将字符串分割为单个字符数组 $atlen=count($atnum); $total=0; $i=1; foreach ($atnum as $tv) { $tv=strtoupper($tv); if(array_key_exists($tv,$arr)) { if($arr[$tv]==0)continue; $total=$total+$arr[$tv]*pow($bin,$atlen-$i); } $i++; } $aOutData[]=$total; } return $aOutData; }
Drei, Oktalkonvertierung
Oktal-zu-Dezimal-Funktion octdec()
echo octdec('77'); //输出 63 echo octdec(decoct(45)); //输出 45
octdec
(PHP 3, PHP 4, PHP 5)
octdec – Oktal in Dezimal umwandeln
Beschreibung
Zahl octdec ( string octal_string )
Gibt das durch den octal_string dargestellte Oktal zurück Parameter Das dezimale Äquivalent einer Zahl. Der größte Wert, der konvertiert werden kann, ist 17777777777 oder 2147483647 in Dezimalzahl. Ab PHP 4.1.0 kann diese Funktion große Zahlen verarbeiten. In diesem Fall gibt sie einen Float-Typ zurück.
Vier, Hexadezimalkonvertierung
Hexadezimal-zu-Dezimal-Hexdec()-Funktion
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 – Hexadezimal in Dezimal umwandeln
Beschreibung
Zahl hexdec ( string hex_string )
Rückgabe Das dezimale Äquivalent der durch dargestellte Hexadezimalzahl der hex_string-Parameter. hexdec() Konvertiert eine hexadezimale Zeichenfolge in eine Dezimalzahl. Der maximal umwandelbare Wert ist 7ffffffff, also 2147483647 in Dezimalzahl. Ab PHP 4.1.0 kann diese Funktion große Zahlen verarbeiten. In diesem Fall gibt sie einen Float-Typ zurück.
hexdec() ersetzt alle gefundenen nicht-hexadezimalen Zeichen durch 0. Auf diese Weise werden alle Nullen auf der linken Seite ignoriert, Nullen auf der rechten Seite werden jedoch in den Wert einbezogen.
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Code- und Funktionsbeispielen zur Umsetzung der Konvertierung zwischen mehreren Hexadezimalsystemen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!