Konwerter systemów n-liczbowych. - Printable Version +- Goldspeak Community (https://forum.goldspeak.pl) +-- Forum: Starchasers (https://forum.goldspeak.pl/forumdisplay.php?fid=12) +--- Forum: Programujemy (https://forum.goldspeak.pl/forumdisplay.php?fid=3) +---- Forum: Arduino i inne (https://forum.goldspeak.pl/forumdisplay.php?fid=29) +---- Thread: Konwerter systemów n-liczbowych. (/showthread.php?tid=883) |
Konwerter systemów n-liczbowych. - Alucard - 31.08.2015 Program naskrobałem w liceum, będąc jeszcze pięknym i młodym. Napisany w Delphi, potrafi konwertować z i na systemy liczbowe od base2 do base16 włącznie. Program jest ułomny (nie sprawdza poprawności podanych danych i wykrzacza się w takim wypadku) i brzydki, ale działa Konwerter.exe Grzebiąc po starych płytach, udało mi się znaleźć źródełka. Wyciąłem tylko najsmakowitsze kąski (dobre 60% kodu to tylko wymagane przez Delphi pierdoły) Gwoli wyjaśnienia - program 'oszukuje', prezeliczając najpierw naszą liczbę podaną w dowolnym systemie na dziesiętny, a dopiero potem z dziesiętnego na docelowy: Funkcja przeliczająca z baseX do base10: [spoiler] Code: function XXX_na_DEC(value: String; system: Integer): String; i druga fuinkcja, przeliczająca z base10 do baseY: [spoiler] Code: function DEC_na_XXX(value: String; system: Integer): String; Następnie wszystko ładnie wrapujemy w kolejną funkcję: Code: function XXX_na_YYY(value: String; z_xxx, na_yyy: Integer): String; Code: Edit2.Text := XXX_na_YYY(Edit1.Text, 3, 12); |