Ausführliche Erläuterung von Code- und Funktionsbeispielen zur Umsetzung der Konvertierung zwischen mehreren Hexadezimalsystemen in PHP

伊谢尔伦
Freigeben: 2023-03-14 09:00:01
Original
1727 Leute haben es durchsucht

Eins, Dezimalzahl Dezimalkonvertierung

1, Dezimalzahl in Binärfunktion decbin(), das folgende Beispiel

echo decbin(12); //输出 1100 
echo decbin(26); //输出 11010
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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,&#39;A&#39;,&#39;B&#39;,&#39;C&#39;,&#39;D&#39;,&#39;E&#39;,&#39;F&#39;); 
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; 
}
Nach dem Login kopieren

2, Binärkonvertierung

1, Binär-zu-Hexadezimal-bin2hex()-Funktion

$binary = "11111001"; 
$hex = dechex(bindec($binary)); 
echo $hex;//输出f9
Nach dem Login kopieren

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(&#39;110011&#39;); //输出 51 
echo bindec(&#39;000110011&#39;); //输出 51 
echo bindec(&#39;111&#39;); //输出 7
Nach dem Login kopieren

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(&#39;0&#39;=>0,&#39;1&#39;=>1,&#39;2&#39;=>2,&#39;3&#39;=>3,&#39;4&#39;=>4,&#39;5&#39;=>5,&#39;6&#39;=>6,&#39;7&#39;=>7,&#39;8&#39;=>8,&#39;9&#39;=>9,&#39;A&#39;=>10,&#39;B&#39;=>11,&#39;C&#39;=>12,&#39;D&#39;=>13,&#39;E&#39;=>14,&#39;F&#39;=>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; 
}
Nach dem Login kopieren

Drei, Oktalkonvertierung

Oktal-zu-Dezimal-Funktion octdec()

echo octdec(&#39;77&#39;); //输出 63 
echo octdec(decoct(45)); //输出 45
Nach dem Login kopieren

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)"
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage