Partage
  • Partager sur Facebook
  • Partager sur Twitter

[probleme fontion] (int) 8 = 7 !!!???

    28 janvier 2007 à 0:41:26

    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 - 9 - 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 ...

    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;
    }


    Merci !
    • Partager sur Facebook
    • Partager sur Twitter

    [probleme fontion] (int) 8 = 7 !!!???

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown