trivialitty weblog

Konvertor číselných soustav

Nebo též „Number System Converter“, chcete-li. Jednoduchý (a v určitých případech i rychlý) převodník čísel mezi soustavami 2 až 36 nyní uvolněný a dostupný i se zdrojovým kódem pro každého (GNU GPL 3). Tento článek je úvodem do jeho funkcí a použití.

Před nedávnou dobou jsem psal článek ohledně soutěže Join ESET a úkolu Převod čísla, který jsem se snažil vyřešit. Povedlo se mi to tak z poloviny – aplikace dokáže konvertovat čísla, ale používá k tomu neefektivní algoritmus (prozatím se mi nepodařilo implementovat lepší), který se dá použít na vstup o 100 000, max. 1 000 000 čísel, protože pro větší vstupy trvá výpočet příliš dlouho (několik dnů). Ve volném čase se budu snažit kód vylepšit a aplikaci zrychlit či přidat novou funkcionalitu. Zapojit se můžete i Vy, kód a další soubory (dokumentace, výsledky testů, todo, informace…) jsou veřejně dostupné na serveru GitHub, odkud si je můžete stáhnout, používat, šířit mezi své přátele, modifikovat a provedené změny opět zveřejňovat (jak definuje licence GNU GPL 3).

Základ

Upozornění: Uvedené příkazy budou fungovat jen v případě, že máte nainstalovaný potřebný software.

Zdrojové kódy si můžete stáhnout z GitHubu nebo pomocí příkazu:

$ git clone git://github.com/ondrg/nsc.git

což je lepší pro případ, že budete chtít mít k dispozici celou historii projektu nebo se chcete zapojit do vývoje.

Přejdeme do adresáře nsc a jednoduchým příkazem:

$ make

aplikaci přeložíme.

Nyní již můžete převádět čísla (aplikace pracuje se standardním vstupem a standardním výstupem). Pro začátek třeba tímto způsobem:

$ echo '[12]10=2' | ./nsc

Výsledkem bude: [1100]2.

Nástroje

test

Jednoduchá aplikace, která slouží ke generování testovacích dat. Stačí ji přeložit:

$ make test

a spustit s právě třemi argumenty – vstupní soustava, výstupní soustava a počet čísel ve vstupní soustavě.

$ ./test 10 2 1000

Výsledek se vypisuje na standardní výstup.

doxygen

Aplikace doxygen vygeneruje ze zdrojového kódu jednoduchou dokumentaci (výchozí formát je nastavený na HTML). Stačí napsat:

$ make doxygen

Výsledek najdete ve složce doc.

Užitečné

5. září 2011 v 16.52 – Programování – zobrazeno: 451574x – komentáře: 1

Komentáře

#1 ondrg 26. září 2011 v 17:29:04 řekl(a):

Moje řešení nakonec skončilo jako 17 ze 24 :-D

Viz. http://www.joineset.cz/…d_cisla.html nebo http://itty.cz/…_results.png

ondra.gersl@seznam.czhttp://itty.cz

Co Vy na to?






(CC) 2008-2024 Ondra „ondrg“ Geršl (v. 0.2.3 – changelog) [poděkování] [licence]

Vypnout CSS — Validovat HTML (W3C) — Validovat CSS

Jste připojeni přes IPv4 :-( Vaše IP adresa je: 10.10.10.10
IP adresa serveru je: 10.10.10.10