Explication détaillée des exemples de code et de fonctions sur la façon d'implémenter la conversion entre plusieurs systèmes hexadécimaux en PHP

伊谢尔伦
Libérer: 2023-03-14 09:00:01
original
1730 Les gens l'ont consulté

Un, décimal conversion décimale

1, fonction décimale en binaire decbin(), l'exemple suivant

echo decbin(12); //输出 1100 
echo decbin(26); //输出 11010
Copier après la connexion

decbin
(PHP 3, PHP 4, PHP 5)
decbin -- Convertir un décimal en binaire
Description
chaîne decbin (numéro int)
Renvoyer unString, contenant la représentation binaire du paramètre numérique donné. La valeur maximale pouvant être convertie est 4294967295 en décimal, ce qui donne une chaîne de 32 unités.

2, fonction décimal en octal decoct()

echo decoct(15); //输出 17 
echo decoct(264); //输出 410
Copier après la connexion

decoct
(PHP 3, PHP 4, PHP 5)
decoct -- Convertir le décimal en Octal
Description
string decoct ( int number )
Renvoie une chaîne contenant la représentation octale du paramètre numérique donné. La valeur maximale pouvant être convertie est 4294967295 en décimal, ce qui donne "37777777777".

3, fonction décimale en hexadécimale dechex()

echo dechex(10); //输出 a 
echo dechex(47); //输出 2f
Copier après la connexion

dechex
(PHP 3, PHP 4, PHP 5)
dechex -- Convertir la décimale en hexadécimal
Description
string dechex ( int number )
Renvoie une chaîne contenant la représentation hexadécimale du paramètre numérique donné. La valeur maximale pouvant être convertie est 4294967295 en décimal, ce qui donne "ffffffff".

<?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; 
}
Copier après la connexion

2, conversion binaire

1, fonction binaire en hexadécimal bin2hex()

$binary = "11111001"; 
$hex = dechex(bindec($binary)); 
echo $hex;//输出f9
Copier après la connexion

bin2hex
(PHP 3 >= 3.0.9, PHP 4, PHP 5)
bin2hex -- Convertir des données binaires en représentation hexadécimale
Instructions
string bin2hex (string str)
Renvoie une chaîne ASCII, qui est la représentation hexadécimale du paramètre str. La conversion utilise le mode octet, le quartet élevé étant prioritaire.

2, conversion binaire en décimal fonction bindec()

echo bindec(&#39;110011&#39;); //输出 51 
echo bindec(&#39;000110011&#39;); //输出 51 
echo bindec(&#39;111&#39;); //输出 7
Copier après la connexion

bindec
(PHP 3, PHP 4, PHP 5)
bindec -- Conversion binaire en décimal
Description
numéro bindec ( string binaire_string )
Renvoie l'équivalent décimal du nombre binaire représenté par le paramètre binaire_string.
bindec() convertit un nombre binaire en entier. Le plus grand nombre pouvant être converti est de 31 chiffres, soit 2147483647 en décimal. À partir de PHP 4.1.0, cette fonction peut gérer de grandes valeurs, auquel cas elle renvoie un type float.

<?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; 
}
Copier après la connexion

Trois, conversion octale

Fonction octdec() octale en décimale

echo octdec(&#39;77&#39;); //输出 63 
echo octdec(decoct(45)); //输出 45
Copier après la connexion

octdec
(PHP 3, PHP 4, PHP 5)
octdec -- Convertir l'octal en décimal
Description
number octdec ( string octal_string )
Renvoie l'octal représenté par octal_string paramètre L'équivalent décimal d'un nombre. La plus grande valeur pouvant être convertie est 17777777777 ou 2147483647 en décimal. À partir de PHP 4.1.0, cette fonction peut gérer de grands nombres, auquel cas elle renvoie un type float.

Quatre conversion hexadécimale

Fonction hexadécimale en décimale hexdec()

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)"
Copier après la connexion

hexdec
(PHP 3, PHP 4, PHP 5)
hexdec -- Convertir un hexadécimal en décimal
Description
number hexdec ( string hex_string )
Return L'équivalent décimal du nombre hexadécimal représenté par le paramètre hex_string. hexdec() Convertit une chaîne hexadécimale en nombre décimal. La valeur maximale pouvant être convertie est 7ffffffff, soit 2147483647 en décimal. À partir de PHP 4.1.0, cette fonction peut gérer de grands nombres, auquel cas elle renvoie un type float.
hexdec() remplace tous les caractères non hexadécimaux rencontrés par 0. De cette façon, tous les zéros à gauche sont ignorés, mais les zéros à droite sont inclus dans la valeur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal