robgar Skrevet 4. juni 2006 Skrevet 4. juni 2006 Hei, jeg funderer litt på hvordan jeg kan lage en funksjon som gjør et tall i ti tallsystemet om til et i et gitt tallsystem. Foreksempel: 10 (ti) = 13 (syv) Vet at det er Grunntallet og potensen som avgjør, men potens er ikke så brukervenlig i php.... Har noen en ide om hvordan dette kan gjøres ? har prøvd meg på en funksjon, men jo mer jeg skrev på den, jo mer rotete ble den og jo mere problemer oppdaget jeg ettervert... function covertToNr($nr, $grunntall) { $nfactor = 0; $potens = 0; $rest = $nr; while( $rest > 0) { $nfactor = 1; while ($nfactor <= ($grunntall-1)) { if ($potens == 0) { $TGrunntall = 1; } else { $TGrunntall = $grunntall; } $pot = 0; while ($pot < $potens) { $TGrunntall = $TGrunntall*$TGrunntall; $pot++; } $tempRest = $rest - $nfactor*$TGrunntall; $tempAction = ""; if ($tempRest > 0) { $TempMem = $nfactor; if ($nfactor == ($grunntall-1)) { $output .= $nfactor; $tmpAction = "w"; $rest = $tempRest; } } if ($tempRest < 0) { if (($nfactor-1) == $TempMem) { if ($tmpAction !== "w") { $output .= $TempMem; $rest = $rest - ($TempMem * $TGrunntall); $tmpAction = "w"; } } else { $tmpNfactor = $nfactor-2; while($tempRest < 0) { if ($tmpNfactor >= 0) { $tempRest = $tmpNfactor*$TGrunntall; if ($tempRest > 0) { $output .= $tmpNfactor; $rest = $TempRest; $tmpAction = "w"; } } $tmpNfactor = $tmpNfactor-1; } } if ($tempRest == 0) { $output .= $nfactor; $tmpAction = "w"; $rest = $tempRest; } $nfactor++; } } return $output; }
trondes Skrevet 4. juni 2006 Skrevet 4. juni 2006 (endret) $tall = 10; $fra_tallsystem = 10; $til_tallsystem = 7; print base_convert( $tall, $fra_tallsystem, $til_tallsystem); EDIT: http://no.php.net/manual/en/function.base-convert.php Endret 4. juni 2006 av trondes
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå