Provided by: manpages-pl_4.21.0-2_all 

NAZWA
dc - kalkulator dowolnej precyzji
SKŁADNIA
dc [-V] [--version] [-h] [--help]
[-e wyrażenie-skryptu] [--expression=wyrażenie-skryptu]
[-f wyrażenie-pliku] [--file=wyrażenie-pliku]
[plik ...]
OPIS
dc jest kalkulatorem pracującym w odwrotnej notacji polskiej, obsługującym arytmetykę nieograniczonej
precyzji. Pozwala również na definiowanie i wywoływanie makr. Zwykle dc czyta ze standardowego wejścia.
Jeśli użyto argumentów polecenia dc, to są one traktowane jak nazwy plików. Zawartość tych plików jest
odczytywana i wykonywana przez dc przed odczytem standardowego wejścia. Wszystkie zwykłe wyniki
kierowane są na standardowe wyjście; wszystkie komunikaty o błędach kierowane są na standardowe wyjście
błędów.
Kalkulator odwrotnej notacji polskiej przechowuje liczby na stosie. Wprowadzenie liczby odkłada ją na
stos. Operacje arytmetyczne pobierają argumenty ze stosu i odkładają na nim wyniki.
To enter a number in dc, type the digits (using upper case letters A through F as "digits" when working
with input bases greater than ten), with an optional decimal point. Exponential notation is not
supported. To enter a negative number, begin the number with “_”. “-” cannot be used for this, as it is
a binary operator for subtraction instead. To enter two numbers in succession, separate them with spaces
or newlines. These have no meaning as commands.
OPCJE
dc may be invoked with the following command-line options:
-V
--version
Wypisuje numer wersji uruchomionego dc i informację o prawach autorskich, a następnie kończy
działanie.
-h
--help Wypisuje komunikat o sposobie wywołania, podając w skrócie opcje wiersza poleceń i adres, na który
należy zgłaszać błędy, a następnie kończy działanie.
-e skrypt
--expression=skrypt
Dodaje polecenia ze skryptu do zestawu poleceń, jakie mają być wykonane podczas przetwarzania
wejścia.
-f plik-skryptu
--file=plik-skryptu
Dodaje polecenia zawarte w pliku-skryptu do zestawu poleceń, jakie mają być wykonane podczas
przetwarzania wejścia.
If any command-line parameters remain after processing the above, these parameters are interpreted as the
names of input files to be processed. A file name of - refers to the standard input stream. The
standard input will processed if no script files or expressions are specified.
Polecenia wypisywania
p Wypisuje wartość z wierzchołka stosu, bez jego zmiany. Po wartości wypisywany jest znak nowej
linii.
n Wypisuje wartość z wierzchołka stosu, zdejmując ją równocześnie ze stosu. Nie wypisuje po niej
znaku nowej linii.
P Pops off the value on top of the stack. If it it a string, it is simply printed without a
trailing newline. Otherwise it is a number, and the integer portion of its absolute value is
printed out as a "base (UCHAR_MAX+1)" byte stream. Assuming that (UCHAR_MAX+1) is 256 (as it is
on most machines with 8-bit bytes), the sequence KSK0k1/_1Ss [ls*]Sxd0>x
[256~Ssd0<x]dsxxsx[q]Sq[Lsd0>qaPlxx] dsxxsx0sqLqsxLxLK+k could also accomplish this function.
(Much of the complexity of the above native-dc code is due to the ~ computing the characters
backwards, and the desire to ensure that all registers wind up back in their original states.)
f Wypisuje całą zawartość stosu nie zmieniając niczego. Jest polecenie przydatne w sytuacji, gdy
się pogubiliśmy lub chcemy się zorientować, jaki był efekt pewnych poleceń.
Arytmetyka
+ Zdejmuje ze stosu dwie wartości, dodaje je i odkłada wynik na stos. Dokładność wyniku zależy
wyłącznie od wartości argumentów i jest wystarczająco ścisła.
- Zdejmuje ze stosu dwie wartości, odejmuje pierwszą zdjętą od drugiej i składa wynik ponownie na
stos.
* Pops two values, multiplies them, and pushes the result. The number of fraction digits in the
result depends on the current precision value and the number of fraction digits in the two
arguments.
/ Zdejmuje ze stosu dwie wartości, dzieli drugą zdjętą przez pierwszą i odkłada wynik ponownie na
stos. Liczba cyfr ułamkowych wyniku określana jest przez wartość dokładności.
% Pops two values, computes the remainder of the division that the / command would do, and pushes
that. The value computed is the same as that computed by the sequence Sd dld/ Ld*- .
~ Zdejmuje ze stosu dwie wartości, dzieli drugą zdjętą przez pierwszą. Odkłada na stos iloraz, a
następnie resztę z dzielenia. Dzielenie wykonywane jest z liczbą cyfr ułamkowych określoną
wartością dokładności. (Funkcję tę może też spełniać sekwencja SdSn lnld/ LnLd%, z nieco
odmiennym sprawdzaniem błędów.)
^ Zdejmuje ze stosu dwie wartości i wykonuje potęgowanie, posługując się pierwszą zdjętą jako
wykładnikiem, zaś drugą jako podstawą potęgowania. Ułamkowa część wykładnika jest ignorowana.
Wartość dokładności określa liczbę cyfr ułamkowych wyniku.
| Pops three values and computes a modular exponentiation. The first value popped is used as the
reduction modulus; this value must be a non-zero number, and should be an integer. The second
popped is used as the exponent; this value must be a non-negative number, and any fractional part
of this exponent will be ignored. The third value popped is the base which gets exponentiated,
which should be an integer. For small integers this is like the sequence Sm^Lm%, but, unlike ^,
this command will work with arbitrarily large exponents.
v Pops one value, computes its square root, and pushes that. The maximum of the precision value and
the precision of the argument is used to determine the number of fraction digits in the result.
Na większość operacji arytmetycznych wpływa “wartość dokładności”, którą ustala się za pomocą polecenia
k. Domyślną wartością dokładności jest zero, co oznacza, że wszystkie działania arytmetyczne z wyjątkiem
dodawania i odejmowania dają wyniki całkowite.
Kontrola stosu
c Czyści stos, powoduje, że będzie on pusty.
d Powiela wartość na wierzchołku stosu, odkładając na stos jej kopię. Zatem “4d*p” oblicza 4
podniesione do kwadratu i wypisuje wynik.
r Reverses the order of (swaps) the top two values on the stack. (This can also be accomplished
with the sequence SaSbLaLb.)
R Pops the top-of-stack as an integer n. Cyclically rotates the top n items on the updated stack.
If n is positive, then the rotation direction will make the topmost element the second-from top;
if n is negative, then the rotation will make the topmost element the n-th element from the top.
If the stack depth is less than n, then the entire stack is rotated (in the appropriate
direction), without any error being reported.
Rejestry
dc udostępnia co najmniej 256256 rejestrów pamięciowych, każdy nazwany pojedynczym znakiem. W rejestrze
można przechować liczbę lub łańcuch znakowy i później je odtworzyć.
sr Zdejmuje wartość z wierzchołka stosu i zapisuje w rejestrze r.
lr Copy the value in register r and push it onto the stack. The value 0 is retrieved if the register
is uninitialized. This does not alter the contents of r.
Każdy z rejestrów posiada również swój własny stos. Bieżącą wartością rejestru jest wierzchołek stosu
rejestru.
Sr Zdejmuje wartość z wierzchołka stosu (głównego) i odkłada ją na stosie rejestru r. Poprzednia
wartość rejestru staje się niedostępna.
Lr Zdejmuje wartość z wierzchołka stosu rejestru r i odkłada ją na głównym stosie. Poprzednia wartość
stosu rejestru r, jeśli była takowa, jest teraz dostępna poprzez polecenie lr.
Parametry
dc posiada trzy parametry kontrolujące jego pracę: dokładność, podstawę systemu pozycyjnego wejścia i
podstawę wyjścia. Dokładność określa liczbę cyfr dziesiętnych, jaka będzie zachowana w wyniku większości
operacji arytmetycznych. Podstawa wejścia odpowiada za interpretację wprowadzanych liczb; wszystkie
wprowadzane liczby używają tej podstawy. Podstawa wyjścia używana jest do wypisywania liczb.
Podstawa wejścia i wyjścia są odrębnymi parametrami; można spowodować, że będą różne, co może być
użyteczne lub mylące. Podstawa wejścia musi być liczbą z zakresu od 2 do 16. Podstawa wyjścia musi
wynosić co najmniej 2. Dokładność musi być równa zeru lub większa. Dokładność zawsze określana jest jako
liczba cyfr dziesiętnych, niezależnie od bieżącej podstawy wejścia czy wyjścia.
i Zdejmuje wartość z wierzchołka stosu i posługuje się nią do ustawienia podstawy wejścia.
o Zdejmuje wartość z wierzchołka stosu i posługuje się nią do ustawienia podstawy wyjścia.
k Zdejmuje wartość z wierzchołka stosu i posługuje się nią do ustawienia dokładności.
I Odkłada bieżącą wartość podstawy wejścia na stosie.
O Odkłada bieżącą wartość podstawy wyjścia na stosie.
K Odkłada bieżącą dokładność na stosie.
Łańcuchy znakowe
dc has a limited ability to operate on strings as well as on numbers; the only things you can do with
strings are print them and execute them as macros (which means that the contents of the string are
processed as dc commands). All registers and the stack can hold strings, and dc always knows whether any
given object is a string or a number. Some commands such as arithmetic operations demand numbers as
arguments and print errors if given strings. Other commands can accept either a number or a string; for
example, the p command can accept either and prints the object according to its type.
[znaki]
Tworzy łańcuch zawierający znaki (zawarte pomiędzy nawiasami kwadratowymi [ i ]) i odkłada go na
stos. Na przykład, [foo]P wypisuje znaki foo (bez zakończenia znakiem nowej linii).
a Zdejmowany jest wierzchołek stosu. Jeżeli jest to liczba, to młodszy bajt (low-order byte) tej
liczby zamieniany jest na łańcuch i odkładany na stos. W przeciwnym przypadku, wierzchołek stosu
był łańcuchem, a z powrotem na stos odkładany jest pierwszy znak tego łańcucha.
x Zdejmuje wartość ze stosu i wykonuje ją jako makro. Zwykle powinien to być łańcuch znakowy. Jeżeli
jest to liczba, to zostanie po prostu zwrócona na stos. Na przykład, [1p]x wykonuje makro 1p,
które odkłada 1 na stosie i wypisuje 1 w osobnym wierszu.
Makra są najczęściej przechowywane w rejestrach: [1p]sa składuje makro do wypisania 1 w rejestrze a, zaś
lax wywołuje to makro.
>r Zdejmuje dwie wartości ze stosu i porównuje je, zakładając, że są one liczbami, wykonując
zawartość rejestru r jako makro, jeśli pierwotny wierzchołek stosu jest większy. Tak więc, 1 2>a
wywoła zawartość rejestru a zaś 2 1>a nie wywoła.
!>r Similar but invokes the macro if the original top-of-stack is not greater than (less than or equal
to) what was the second-to-top.
<r Podobnie, ale wywołuje makro jeśli pierwotny wierzchołek stosu nie jest mniejszy (jest większy
bądź równy) od liczby występującej pod nim.
!<r Similar but invokes the macro if the original top-of-stack is not less than (greater than or equal
to) what was the second-to-top.
=r Podobnie, ale wywołuje makro, gdy obie zdjęte ze stosu liczby są równe.
!=r Similar but invokes the macro if the two numbers popped are not equal.
? Czyta wiersz z terminala i wykonuje go. Polecenie to umożliwia makru pobieranie danych od
użytkownika.
q powoduje zakończenie pracy makra i makra, z którego było ono wywołane. Polecenie to wywołane na
najwyższym poziomie lub z makra wywołanego bezpośrednio z najwyższego poziomu spowoduje
zakończenie pracy dc.
Q Zdejmuje ze stosu wartość i używa jej jako liczby poziomów wykonania makr, jakie mają zostać
zakończone. Tak więc, 3Q kończy pracę trzech poziomów makr. Polecenie Q nigdy nie powoduje
zakończenia pracy dc.
Informacja o stanie
Z Pops a value off the stack, calculates the number of decimal digits it has (or number of
characters, if it is a string) and pushes that number. The digit count for a number does not
include any leading zeros, even if those appear to the right of the radix point.
X Zdejmuje wartość ze stosu, oblicza liczbę jej cyfr ułamkowych i odkłada tę liczbę na stos. Dla
łańcuchów wartością odkładaną na stos jest 0.
z Odkłada na stos bieżącą wysokość stosu: liczbę obiektów na stosie przed wykonaniem polecenia z.
Różne
! Will run the rest of the line as a system command. Note that parsing of the !<, !=, and !>
commands take precedence, so if you want to run a command starting with <, =, or > you will need
to add a space after the !.
# Interpretuje resztę wiersza jako komentarz.
:r Zdejmuje ze stosu dwie górne wartości. Wartość, która była drugą od góry stosu zostanie zachowana
w tablicy r, indeksowanej wartością byłego wierzchołka stosu.
;r Zdejmuje wierzchołek stosu i posługuje się nim jako indeksem tablicy r. Wybrana w ten sposób
wartość jest następnie odkładana na stos.
Note that each stacked instance of a register has its own array associated with it. Thus 1 0:a 0Sa 2 0:a
La 0;ap will print 1, because the 2 was stored in an instance of 0:a that was later popped.
PLIKI
~/.dcrc The commands in this file will be executed when dc is first run.
BŁĘDY
Raporty o błędach można wysyłać do bug-dc@gnu.org
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Wojtek Kotwica <wkotwica@post.pl>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ
ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-
list@lists.sourceforge.net.
Projekt GNU 22 maja 2008 r. dc(1)