"-= Texas =-" <box2600@XXXhotmail.com> wrote in message
news:997rgr$23b6$1@news.cybercity.dk...
> Dem er jeg meget interesserede i.
>
> > Jeg mener da der er en IntToHex() funktion, de andre er lidt mere
> > tricky, men jeg mener godt jeg kan få lavet lidt kode (jeg har skrevet
> > et program til min grafregner der kan det).
Det er jo et spørgsmål om at implementere Horner's algoritme for Decimal->
Base N
og en anden algoritme den anden vej (som jeg ikke lige kan huske hvad
hedder, hvis den har noget navn :) )
// BaseN -> decimal
// Digits are processed left to right - start with the leftmost
// digit og the value to be converted and work to the right
Value := 0;
repeat
value := value * N + <next digit>
until <no more digits>
// Decimal -> BaseN (Horner)
// Digits are produced right to left - the first digit produced
// is the least significant (rightmost) digit of the answer
Value := <value to be converted>
repeat
<next digit of result> := value mod N;
value := value div N;
until (value = 0);
her kommer en implementation af Horner's algoritme, der er måske ikke så
køn, men det kan jo rettes til....
function Int2Str(value: integer): String;
begin
if value < 10 then result := IntToStr(value)
else
result := Chr(55 + value);
end;
// Decimal -> BaseN (Horner)
// Digits are produced right to left - the first digit produced
// is the least significant (rightmost) digit of the answer
function dec2baseN(base: integer; value: integer): string;
var
res: String;
begin
res := '';
repeat
res := Int2Str(value mod base) + res;
value := value div base;
until (value = 0);
result := res;
end;
Claus
--
Claus Christiansen, TeamD member <cch@unipeople.dk>
Pythia:
http://www.pythia.dk/
Personal:
http://www.bigfoot.com/~kruc
============================================-------------------------
"Computers are useless. They can only give you answers."
-- Pablo Picasso (1881-1973)