Salut,

J'ai fait une fonction qui transfert des nombres de la base 10 vers d'autre bases ( de 2 a 16 ),elle marche tres bien sauf que j'ai par hasard trouve un petit probleme , a la ligne -14 - la valeur qui donne cette expression

(int)(($nombres_paquets-((int)$nombres_paquets))*$base)

quand $nombres_paquets=1.8 et base 10 est 7 ou lieu de 8 !!!!??

Et voila la fontion complete ...
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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;
}