robgar Skrevet 4. juni 2006 Del 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; } Lenke til kommentar
trondes Skrevet 4. juni 2006 Del 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 Lenke til kommentar
robgar Skrevet 4. juni 2006 Forfatter Del Skrevet 4. juni 2006 Tuller du! Så enkelt. Takk for svar Lenke til kommentar
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å