
Logowanie
| Zamiana liczb z dowolnego systemu na dziesiętny |
|
|
| Wpisany przez Berl | |
| wtorek, 11 listopada 2008 08:25 | |
|
Aby zamienić liczbę zapisaną w dowolnym systemie na system dziesiętny, należy pomnożyć każdą cyfrę wchodzącą w skład tej liczby przez odpowiednią potęgę podstawy systemu. Potęga ta, to indeks cyfry w liczbie licząc od prawej, i zaczynając liczenie od 0. function Dec(Liczba : String ; Podst : Integer) : Cardinal ; var Dana : Integer ; i : Integer ; begin Result := 0 ; if (Liczba = '') or (Podst < 2) or (Podst > 35) then Exit ; for i := 1 to Length(Liczba) do begin if Liczba[i] in ['A'..'Z'] then Dana := Ord(Liczba[i]) - Ord('A') + 10 else Dana := StrToInt(Liczba[i]) ; if Dana >= Podst then begin Result := 0 ; Exit ; end; Result := Result + Dana * Trunc(Exp((Length(Liczba) - i) * Ln(Podst))) ; end; end;
|
Statystyka
Użytkowników : 99Artykułów : 76
Odsłon : 99789




