Content
Data
License: GNU
Version number: (GNU bc 1.07.1) 1.4.1
Developer / owner: Free Software Foundation, Inc.
Short description:
Manual page and help for the dc linux command. Dc is a postfix desktop calculator for unlimited accuracy calculations that allows you to define and execute macros. It takes the input from the standard input; if you give it an argument, it interprets it as a file name and takes and executes the contents of those files, and then reads it from standard input. The output is the standard output, the errors are written to the standard error output.
Man page output
man dc
DC(1) General Commands Manual DC(1) NÉV dc - tetszőleges pontosságú számológép ÁTTEKINTÉS dc LEÍRÁS A dc egy korlátlan pontosságú számítások elvégzésére alkalmas fordított-lengyel (postfix) asztali számológép, amely lehetőséget ad makrók definiálására és végrehajtására. A bemenetet a szabványos bemenetről veszi; ha argumentumot adsz meg neki, azt fájlnévként értelmezi és azon fájlok tartalmát veszi és hajtja végre, majd ezután olvas a szabványos bemenetről. A kimenet a szabványos kimenet, a hibák a szabványos hibakimenetre íródnak. A fordított-lengyel számológép a számokat egy veremben tárolja. Új szám bevitele esetén a szám a verem tetejére kerül. A műveletek az argumentumukat a verem tetejéről veszik, majd az eredményt visszateszik a verembe. A bevitelhez a számot egyszerűen beírod, követheti opcionálisan tizedespont. A hatványalak használata nem támogatott. Negatív számok beviteléhez a számot ``_'' karakterrel kezdd. Az előjel nem lehet ``-'', mivel ez a kivonás műveleti operátora. Több számot egymástól szóközzel vagy új sorral elválasztva lehet bevinni, ezen karakterek nem parancsok. KIÍRÓ PARANCSOK p Kiírja a verem tetején levő számot a verem megváltoztatása nélkül. A szám után egy újsor karakter is kiíródik. P Kiveszi a verem tetejéről a számot, kiírja, és nem ír utána újsor karaktert. f Kiírja a verem teljes tartalmát anélkül, hogy bármit változtatna. Akkor jó, ha teljesen eltévedtél, vagy ki akarod találni, hogy egy parancs vajon mit csinált. SZÁMÍTÁSOK + Leveszi a verem két felső elemét, összeadja őket, és az eredményt a verembe helyezi. A pontosságot kizárólag az argumentumok értéke határozza meg. - Leveszi a verem két felső elemét, az elsőt (ami eredetileg felül volt) kivonja a másodikból, majd az eredményt a verembe helyezi. * Leveszi a verem két felső elemét, összeszorozza őket, majd az eredményt a verembe helyezi. A tizedesjegyek számát az aktuális pontosságérték (l. lentebb) határozza meg, és nem függ a szorzandóktól. / Leveszi a verem két felső elemét, az elsőt elosztja a másodikkal, majd az eredményt a verembe helyezi. A tizedesjegyek számát a pontosságérték határozza meg. % Leveszi a verem két felső elemét, a / által végzett osztás maradékát a verembe helyezi. Az osztás a pontosságérték által meghatározott pontossággal végződik el, és a maradék is ennek megfelelő számú jegyre számolódik ki. ~ Leveszi a verem két felső elemét, az elsőt elosztja a másodikkal. Először a hányadost, aztán a maradékot helyezi a verembe. Az osztásban használt tizedesjegyek értéke a pontosságértéktől függ. (A SdSn lnld/ LnLd% hatása hasonló, a hibakezelése más egy kicsit.) ^ Leveszi a verem két felső elemét, az elsőt (ami eredetilg felül volt) kitevőként, a másodikat alapként használva elvégzi a hatványozást. Ha a kitevőnek van törtrésze, azt figyelmen kívül hagyja. A pontosságérték határozza meg, hogy az eredmény hány tizedesjegyre számítódik ki. | Törtkitevős hatványozást végez. Leveszi a verem felső három elemét. Az első (ami eredetileg felül volt) lesz a kitevő nevezője, ez nem lehet nulla, és egésznek kell lennie. A második a kitevő számlálója, ez nem lehet negatív. Ha van tizedesjegye, azt figyelmen kívül hagyja. A harmadik szám lesz a hatványozás alapja. A pontosságérték határozza meg, hogy az eredmény hány tizedesjegyre számítódik ki. Kis számok esetén hasonlít hozzá a Sm lble^ Lm% szekvencia, de a ^-tól eltérően ez a parancs nem alkalmazható tetszőlegesen nagy kitevőkre. v Levesz egy elemet a veremről, kiszámítja a négyzetgyökét, majd az eredményt a verembe helyezi. A pontosságérték határozza meg, hogy hány tizedesjegyre végződik el a számítás. A legtöbb számítás eredményét befolyásolja a k paranccsal beállítható pontosságérték. Ez alapértelmezésben nulla, ami azt jelenti, hogy az összeadás és a kivonás kivételével minden művelet erdménye egész lesz. A % maradék-művelet kis magyarázatra szorul. Ha az argumentumai ``a'' és ``b'', akkor a művelet eredménye ``a - (b * (a / b))'', ahol ``a / b'' az aktuális pontosságérték szerint számítódik. VEREMKARBANTARTÁS c Kitörli a verem minden elemét, a verem üres lesz. d A verem tetején levő elemet megduplázza és a verem tetejére helyezi, így a ``4d*p'' eredménye 16. r Megfordítja (kicseréli) a verem két felső elemét. REGISZTEREK A dc 256 memóriaregisztert képes kezelni, mindegyikük neve egyetlen karakter. A regiszterben tárolható és később újrafelhasználható egy szám vagy egy karakterlánc. sr A verem tetején levő értéket leveszi és az r regiszterben eltárolja. lr Az r regiszter tartalmát a verembe helyezi. Ez a művelet nem változtatja meg az r regiszter tartalmát. Minden regiszternek megvan a saját verme, az aktuális regiszterérték van a verem tetején. Sr A (fő) verem tetején levő értéket leveszi és az r regiszter vermébe helyezi. A regiszter előző értéke így elérhetetlen. Lr Az r regiszter verméből leveszi az elemet és a fő verembe helyezi. Ha az r regiszter vermében volt régebben valami érték, akkor az most a lr paranccsal elérhetővé válik. PARAMÉTEREK A dc működését három paraméter befolyásolja: a pontosság, a beviteli alap és a kimeneti alap. A pontosság határozza meg, hogy a műveletek eredményéből hány tizedesjegy maradjon meg. A beviteli alap mutatja meg, hogy a begépelt számok hányas számrendszerben vannak; minden begépelt szám ebben a számrendszerben értelmeződik. Számok kiírásakor a számok a kimeneti alap szerinti számrendszerben íródnak ki. A beviteli és a kimeneti alapok különböző paraméterek, nem kell feltétlenül egyenlőnek lenniük; ez lehet hasznos és zavaró is. A bemeneti alap legalább 2, legfeljebb 36 lehet. A kimeneti alapnak legalább 2-nek kell lennie. A pontosságnak nullának vagy nagyobbnak kell lennie. A pontosság a beviteli és kimeneti alaptól függetlenül mindig tizedesjegyeket jelent. i Leveszi a verem tetején levő számot és erre állítja a beviteli alapot. o Leveszi a verem tetején levő számot és erre állítja a kimeneti alapot. k Leveszi a verem tetején levő számot és erre állítja a pontosságot. I Az aktuális beviteli alapot a verem tetejére helyezi. O Az aktuális kimeneti alapot a verem tetejére helyezi. K A pontosság aktuális értékét a verem tetejére helyezi. KARAKTERLÁNCOK A dc képes karakterláncokat is kezelni. A karakterláncokat csak tárolni vagy makróként végrehajtani (azaz a tartalmuk dc parancsként értelmeződik) lehet. Karakterláncok tárolására minden regiszter és a verem is képes. Néhány parancs, mint például az aritmetikai műveletek számokat várnak argumentumként, és hibát jeleznek, ha karakterláncot találnak helyette. Más parancsok számot és karakterláncot is elfogadnak; ilyen például a p parancs, ami mindegyiket elfogadja és a típusának megfelelő módon írja ki. [karakterek] A karakterek -et tartalmazó karakterláncot (azokat a karaktereket, amik [ és ] karakterek között vannak) tartalmazó karakterláncot képez és a veremre helyezi. Például a [foo]P kiírja a foo szöveget és nem ír utána újsor karaktert. a Leveszi a verem legfelső elemét. Ha ez szám, akkor az alacsony helyiértékű bájtját karakterré konvertálja és a verembe helyezi. Ha ez karakterlánc, akkor ennek első karakterét helyezi vissza a verembe. x Leveszi a verem legfelső elemét és makróként végrehajtja. Normális esetben ez az elem egy karakterlánc; ha szám, akkor visszahelyezi a verembe. Például a [1p]x végrhajtja a 1p makrót, ami egy 1 -est tesz a verembe és új sorban kiírja az 1 -et. A makrókat leggyakrabban regiszterekben tároljuk; a [1p]sa az a regiszterbe tesz egy olyan makrót, ami egy 1 -est ír ki. A lax parancs hajtja végre ezt a makrót. >r Leveszi a verem két felső elemét, feltételezi, hogy ezek számok, összehasonlítja őket, és végrehajtja az r regiszterben lévő makrót, ha az eredetileg a verem tetején levő szám nagyobb. Az 1 2>a parancs végrehajtja az a regiszterben tárolt makrót, míg a 2 1>a parancs nem. <r Hasonló, de akkor hajtja végre a makrót, ha az eredetileg a verem tetején levő szám kisebb. =r Hasonló, de akkor hajtja végre a makrót, ha a két levett elem egyenlő. ? Beolvas egy sort a terminálról és végrehajtja. Ezzel a paranccsal lehet felhasználói bevitelt kérni. q Kilép a makróból és az azt hívó makróból is. Ha a legfelső szinten hajtod végre, a q parancs kilép a dc -ből. Q Leveszi a verem legfelső elemét és ennyi szintet lép ki a makrókból. A Q parancs soha nem lép ki a dc -ből. ÁLLAPOTLEKÉRDEZÉS Z Leveszi a verem tetején levő elemet, megszámolja hány jegyű (ha szám) vagy hány karakterből áll (ha karakterlánc), és ezt a számot teszi a verembe. X Leveszi a verem tetején levő elemet, megszámolja, hány tizedesjegye van, majd ezt a számot teszi a verembe. Ha a levett elem karakterlánc, akkor 0 -t tesz a verembe. z A verembe teszi a verem aktuális mélységét; azt, hogy a z parancs végrehajtása előtt hány elem volt a veremben. EGYÉB ! A sor többi részét mint rendszerparancsot futtatja. # A sor többi részét megjegyzésként kezeli. :r A verem két felső elemét leveszi. A második elemet az r tömbbe helyezi, amit az első elemmel indexel. ;r Leveszi a verem felső elemét és az r tömb indexeként használja. A kiválasztott elem a verembe kerül. MEGJEGYZÉSEK A : és a ; tömbműveteket általában csak a bc hagyományos implementációi használják. (A GNU bc ezt tartalmazza, nem szükséges a futásához a dc. ) HIBÁK A hibákat e-mail-ben jelentsd a bug-gnu-utils@prep.ai.mit.edu címen. A levél tárgyában valahol legyen benne a ``dc'' szó. MAGYAR FORDÍTÁS Tevesz Tamás <ice@rulez.org> GNU Project 1997-03-25 DC(1)
Help output
dc --help
Usage: dc [OPTION] [file ...] -e, --expression=EXPR evaluate expression -f, --file=FILE evaluate contents of file -h, --help display this help and exit -V, --version output version information and exit Email bug reports to: bug-dc@gnu.org .
Related Content
- 41 views