W dzisiejszym świecie Bc (Unix) jest nadal tematem interesującym wiele osób. Wraz z postępem technologii i globalizacją Bc (Unix) stał się istotnym tematem we współczesnym społeczeństwie. Niezależnie od tego, czy Bc (Unix) jest osobą, wydarzeniem historycznym czy aktualnym zjawiskiem, nie można niedoceniać jego wpływu na nasze życie. W tym artykule szczegółowo zbadamy różne aspekty Bc (Unix), analizując jego znaczenie, implikacje i wpływ w różnych obszarach. Od momentu powstania do obecnego stanu Bc (Unix) pozostawił niezatarty ślad w społeczeństwie i zrozumienie jego zasięgu jest niezbędne, aby lepiej zrozumieć otaczający nas świat.
bc – uniksowy kalkulator 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 programie dc, tłumacząc zapis infiksowy na postfiksowy (odwrotna notacja polska), jednak obecnie wersja GNU jest autonomicznym programem.
bc posiada składnię podobną do języka C.
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) ) } }