Avatar billede tingholm Mester
31. januar 2012 - 15:44 Der er 5 kommentarer og
1 løsning

konvertere decimal til hex

Hej Eksperter

Jeg kander dechex() hvor jeg kan konvertere et dicimal tal til hex.
Men er det muligt at konvertere til et format med mere end 16 forskellige cifre? eks 0-9+a-z eller evt 0-9+a-z+A-Z

Jeg skal lave noget der lugter lidt af short-url service og vil gerne holde short-url så kort som muligt...
Avatar billede olsensweb.dk Ekspert
31. januar 2012 - 15:50 #1
har du læst denne http://www.eksperten.dk/spm/944778 ??
Avatar billede tingholm Mester
31. januar 2012 - 22:43 #2
Som jeg læser det spm du referer til, er det bare en måde at kunne lave større tal til hex...
Det jeg vil have er ikke hex, men som decimal har 10 forskellige tal og hex har 16, så søger jeg et system der har f.eks. 35 (0-9 a-z)
Avatar billede arne_v Ekspert
01. februar 2012 - 00:37 #3
Forslag:

<?php
function anyradix($num, $radixstr) {
    $radix = strlen($radixstr);
    $tmp = $num;
    $res = '';
    while($tmp > 0) {
        $dig = $tmp % $radix;
        $tmp = (int)($tmp / $radix);
        $res = $radixstr[$dig] . $res;   
    }
    return $res;
}

echo anyradix(254, '01234567') . "\r\n";
echo anyradix(254, '0123456789') . "\r\n";
echo anyradix(254, '0123456789ABCDEF') . "\r\n";
echo anyradix(254, '0123456789abcdef') . "\r\n";
echo anyradix(254, '0123456789ABCDEFabcdef') . "\r\n";
echo anyradix(257, '01234567') . "\r\n";
echo anyradix(257, '0123456789') . "\r\n";
echo anyradix(257, '0123456789ABCDEF') . "\r\n";
echo anyradix(257, '0123456789abcdef') . "\r\n";
echo anyradix(257, '0123456789ABCDEFabcdef') . "\r\n";
?>
Avatar billede tingholm Mester
03. februar 2012 - 12:38 #4
Arne_V: det er sgu et super godt forslag, kan alt hvad det skal og en del mere :)

Smider du et svar?
Avatar billede arne_v Ekspert
03. februar 2012 - 15:58 #5
svar
Avatar billede arne_v Ekspert
03. februar 2012 - 15:58 #6
NB: koden antager tal > 0
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester