1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| function nb_in_anotherbase ($nb,$base=2)
{
if($base<2 || $base>16)
{
die('<strong>La base doit etre entre 2 et 16</strong>');
exit();
}
$nombres_paquets=abs($nb);
$i=0;
$nbdelanouvellebase='';
$nombres=array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F');
do
{
$nombres_paquets/=$base;
$x[$i]=$nombres[(int)(($nombres_paquets-((int)$nombres_paquets))*$base)]; //
$i++;
if($nombres_paquets<$base)
{
$x[$i]=$nombres[(int)$nombres_paquets];
}
}
while($nombres_paquets>=$base);
foreach($x as $case)
{
$nbdelanouvellebase="$case".$nbdelanouvellebase;
}
$nbdelanouvellebase=(($nb<0 && $base==2)?(1):(($nb>0 && $base==2)?(0):(''))).$nbdelanouvellebase;
return $nbdelanouvellebase;
} |
Partager