bc (Unix)
Narzędzia
Ogólne
Drukuj lub eksportuj
W innych projektach
| Zobacz publikację Programowanie w systemie UNIX/bc w Wikibooks |
bc –uniksowykalkulator dowolnej precyzji (zarówno przed, jak i po przecinku). Umożliwia operowanie liczbami w dowolnych systemach liczbowych (wejście możliwe w systemie maksymalnie szesnastkowym, wyjście w dowolnie dużym), wykonywanie skryptów itd.
Pierwotnie program opierał się na programiedc, tłumacząc zapis infiksowy na postfiksowy (odwrotna notacja polska), jednak obecnie wersjaGNU jest autonomicznym programem.
bc posiada składnię podobną do językaC.
Oprócz prostych poleceń (np. 2*(3+4)^4) POSIX bc obsługuje:
+ - * / += -= *= /= ++ -- < > == != <= >= ( ) [ ] { } % %= ^ ^=GNU bc oferuje te same polecenia co POSIX bc oraz:
&& || !
$ bc -l scale=200 4*a(1)
for (i=1; i<=10; ++i){ for (j=1; j<=10; ++j) print i*j, "\t" print "\n" } define silnia(n){ if (n <= 1) return 1; return n * silnia(n-1); } /* Funkcja zwraca część całkowitą liczby */ define i(x) { auto s s = scale scale = 0 x /= 1 /* zaokrągla x z niedomiarem */ scale = s return (x) } /* Funkcja wykorzysuje fakt, iż x^y == e^(y*log(x)) */ define p(x,y) { if (y == i(y)) { return (x ^ y) } return ( e( y * l(x) ) ) } # Funkcja zwraca część całkowitą liczby define int(number) { auto oldscale oldscale = scale scale = 0 number /= 1 /* round number down */ scale = oldscale return number } # Funkcja wykorzysuje fakt, iż x^y == e^(y*log(x)) define power(number,exponent) { if (exponent == int(exponent)) { return number ^ exponent } else { return e( exponent * l(number) ) } }| System plików | |
|---|---|
| Procesy | |
| Środowisko użytkownika | |
| Przetwarzanie tekstu | |
| Wbudowane w powłokę | |
| Komunikacja | |
| Wyszukiwanie | |
| Dokumentacja | |
| Różne |