SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

BotDetect - Real-Time Bot Detection API
 
 

MAN page from PLD bc-1.06-18.athlon.rpm

DC

Section: Käyttäjän sovellusohjelmat (1)
Updated: 7. Huhtikuuta 1998
Index 

NIMI

dc - laskin, jolla on rajoittamaton laskentatarkkuus 

YLEISKATSAUS

dc 

KUVAUS

Dc on ``käänteistä puolalaista'' laskentajärjestystä käyttäväpöytälaskin, jolla on rajoittamaton laskentatarkkuus.Se sallii myös makrojen määrittelyn ja kutsun.Normaalisti dc lukee vakiosyöttöä; jos sille annetaankomentoriviargumentteja, ne ovat tiedostonimiä,ja dc lukee ja suorittaa tiedostojen sisällön ennen kuin se lukeevakiosyötöstä.Kaikki normaali tulostus menee vakiotulostimeen.Kaikki virhetulostus menee virhetulostimeen.

``Käänteistä puolalaista'' käyttävä laskin tallettaa luvut pinoon.Syötetty luku työnnetään pinoon. Laskutoimitukset ottavatargumentit pinosta ja työntävät tulokset pinoon.

Luvun syöttödclaskimeen tapahtuu näppäilemällä numerot ja mahdollisestidesimaalipiste. Eksponenttimuotoa ei voi käyttää.Negatiivisen luvun syöttö tapahtuu syöttämällä sen alkuun ``_''.Miinusmerkkiä ``-'' ei voi tässä käyttää, koska se onvähennyslaskun binäärinen operaattori.Kaksi lukua voi syöttää peräkkäin, jos ne erotetaanvälilyönnillä tai rivinvaihdolla, joilla ei olemerkitystä komentoina. 

Tulostuskomennot

p
Tulostaa pinon päällimmäisen arvon muuttamatta pinoa.Arvon jälkeen tulostetaan rivinvaihto.
P
Tulostaa pinon päällimmäisen arvon ja tuhoaa sen;ei tulosta rivinvaihtoa.
f
Tulostaa pinon koko sisällönmuuttamatta mitään.Tämä on hyvä komento, jos olet eksyksissä tai haluat tietää, mikäjonkin komennon vaikutus oli.
 

Laskutoimitukset

+
Ottaa kaksi arvoa pinosta, laskee ne yhteen jatyöntää tuloksen pinoon.Tuloksen tarkkuuden määrää vain argumenttien arvot ja se on riittävänsuuri antamaan eksaktin tuloksen.
-
Ottaa kaksi arvoa pinosta, vähentää ensin otetun toiseksi otetustaja työntää tuloksen pinoon.
*
Ottaa kaksi arvoa pinosta, kertoo ne keskenään ja työntää tuloksen pinoon.Tuloksen desimaalien lukumäärää kontrolloi käypä tarkkuusarvo(katso alempana), eikä se riipu kerrottavien arvoista.
/
Ottaa kaksi arvoa pinosta, jakaa toiseksi otetun ensin otetullaja työntää tuloksen pinoon. Desimaalien lukumäärä riippuu tarkkuusarvosta.
%
Ottaa kaksi arvoa pinosta, laskee jakojäännöksen komennolla/suoritettavasta jakolaskusta ja työntää sen pinoon. Jakolaskutehdään niin monella desimaalilla kuin tarkkuusarvo määrittelee, jajakojäännös lasketaan yhtä monella desimaalilla.
~
Ottaa kaksi arvoa pinosta, jakaa toiseksi otetun arvon ensiksiotetulla. Osamäärä työnnetään ensin pinoon ja jakojäännös seuraavaksi.Tarkkuusarvo määrittelee jakolaskussa käytettyjen desimaalienlukumäärän. (Jono SdSn lnld/ LnLd% voi myös toteuttaatämän funktion, virhetarkistuksen ollessa hiukan erilainen.)
^
Ottaa kaksi arvoa pinosta ja tekee potenssiin korotuksen,jossa ensin otettu arvo on eksponentti ja toiseksi otettu onkantaluku. Eksponentin mahdollisia desimaaleja ei oteta huomioon.Tarkkuusarvo määrittelee pinoon työnnettävän tuloksen desimaalien lukumäärän.
|
Ottaa kolme arvoa pinosta ja laskee modulaarisen potenssiin korotuksen.Ensimmäinen pinosta otettu arvo on reduktiomodulus, jonka täytyy ollanollasta poikkeava ja tulisi olla kokonaisluku. Toista pinosta otettuaarvoa käytetään eksponenttina; sen tulee olla ei-negatiivinen luku ja sendesimaaliosaa ei oteta huomioon. Kolmas pinosta otettu arvo on kantaluku,joka korotetaan potenssiin. Tarkkuusarvo määrää tuloksen desimaalienlukumäärän. Pienillä luvuilla tämä on kuin jono Sm lble^ Lm%,mutta toisin kuin ^, tämä komento toimii mielivaltaisen suurillaeksponenteilla.
v
Ottaa pinosta yhden arvon, laskee sen neliöjuuren ja työntää tuloksenpinoon. Tarkkuusarvo määrittelee tuloksen desimaalien lukumäärän.

Useimpiin laskutoimituksiin vaikuttaa ``tarkkuusarvo'',jonka voit asettaa komennollak .Oletustarkkuus on nolla, mikä tarkoittaa sitä, että kaikki laskutoimituksetyhteen- ja vähennyslaskua lukuunottamatta antavat tulokseksikokonaisluvun.

Jakojäännösoperaatio%vaatii selityksen:kun sitä sovelletaan argumentteihin ``a'' ja ``b'' , se antaa tulokseksi
 ``a - (b * (a / b))'',jossa ``a / b'' lasketaan käytössä olevalla tarkkuudella. 

Pinon hallinta

c
Tyhjentää pinon.
d
Tekee pinon päällimmäisestä arvosta kaksoiskappaleen ja työntää sen pinoon.Siten ``4d*p'' laskee luvun 4 neliön ja tulostaa sen.
r
Vaihtaa pinon kahden päällimmäisen arvon järjestyksen.
 

Rekisterit

Dc antaa käytettäväksi 256 muistirekisteriä,joilla jokaisella on yksimerkkinen nimi.Voit tallettaa luvun tai merkkijonon rekisteriin ja hakea sen myöhemmin.

sr
Ottaa pinon päällimmäisen arvon ja tallettaa sen rekisteriinr.
lr
Kopioi arvon rekisteristärja työntää sen pinoon. Rekisterinrsisältö ei muutu.

Jokaisella rekisterillä on myös oma pinonsa. Rekisterin käypä arvo onsen pinon päällimmäinen arvo.

Sr
Ota (pää)pinon päällimmäinen arvo ja työnnä se rekisterinrpinoon. Rekisterin edelliseen arvoon ei pääse käsiksi.
Lr
Ota rekisterinrpinon päällimmäinen arvo ja työnnä se pääpinoon.Rekisterin rpinon edelliseen arvoon, jos sellainen on, voidaan nyt päästäkäsiksi komennollalr.
 

Parametrit

Dc :llä on kolme parametria, jotka hallitsevat sen toimintaa:has three parameters that control its operation:tarkkuus, syöttökantaluku ja tulostuskantaluku.Tarkkuus määrittelee useimpien laskutoimitusten tuloksenedellyttämän desimaalien lukumäärän.Syöttökantaluku valvoo syötettävien lukujen tulkintaa.Tulostuskantalukua käytetään lukuja kirjoitettaessa.

Syöttö- ja tulostuskantaluvut ovat erillisiä parametreja;voit asettaa ne erisuuriksi, mikä voi olla hyödyllistä tai häiritsevää.Syöttökantaluvun tulee olla välillä 2 -- 36 (mainitut arvot ml.).Tulostuskantaluvun tulee olla vähintään 2.Tarkkuuden tulee olla nolla tai suurempi.Tarkkuus mitataan aina desimaalilukuna riippumatta käytetystäsyöttö- tai tulostuskantaluvun arvosta.

i
Ottaa pinon päällimmäisen arvon ja asettaa sen syöttökantaluvun arvoksi.
o
Ottaa pinon päällimmäisen arvon ja asettaa sen tulostuskantaluvun arvoksi.
k
Ottaa pinon päällimmäisen arvon ja asettaa sen tarkkuuden arvoksi.
I
Työntää käytössä olevan syöttökantaluvun arvon pinoon.
O
Työntää käytössä olevan tulostuskantaluvun arvon pinoon.
K
Työntää käytössä olevan tarkkuusarvon pinoon.
 

Merkkijonot

Dc voi operoida lukujen ohella merkkijonoilla.Ainoa mitä merkkijonoilla voi tehdä on niiden tulostusja suoritus makroina (mikä tarkoittaa sitä, että merkkijonon sisältöprosessoidaan dc komentoina).Kaikki rekisterit ja pino voivat sisältää merkkijonoja,ja dc tietää aina, onko tietty kohde luku vai merkkijono.Jotkut komennot (kuten laskutoimitukset) vaativat lukuja argumenteiksi ja ilmoittavat virheestä, jos saavat merkkijonoja.Toiset komennot hyväksyvät kumman tahansa;esimerkiksi komentophyväksyy kumman tahansa ja tulostaa kohteen sen tyyppiä vastaavasti.

[characters]
Tekee merkkijonoon, joka sisältäächaracters(sijoitettuna merkkien[ja]väliin),ja työntää sen pinoon.Esimerkiksi[foo]Ptulostaa merkitfoo(ei rivinvaihtoa).
a
Ottaa pinon päällimmäisen kohteen. Jos se oli luku, sen alin tavukonvertoidaan merkkijonoksi ja työnnetään pinoon.Muutoin pinon päällimmäinen kohde oli merkkijono, ja senensimmäinen merkki työnnetään pinoon.
x
Ottaa arvon pinosta ja suorittaa sen makrona.Normaalisti sen pitäisi olla merkkijono;jos se on luku, se yksinkertaisesti työnnetään takaisin pinoon.Esimerkiksi[1p]xsuorittaa makron1pjoka työntää1pinon ja tulostaa1erilliselle riville.

Makrot talletetaan useimmiten rekistereihin;[1p]satallettaa makron, joka kirjoittaa1rekisteriina,jalaxkutsuu tämän makron.

>r
Ottaa kaksi arvoa pinosta ja vertaa niitäolettaen, että ne ovat lukuja,toteuttaen rekisterinrsisällön makrona, jos alkuperäinen pinon päällimmäinen arvo on suurempi.Siten1 2>akutsuu rekisterinasisällön, mutta2 1>aei kutsu.
<r
Kuten edellinen, mutta kutsuu makron, jos alkuperäinen pinon päällimmäinenarvo on pienempi.
=r
Kuten edelliset, mutta kutsuu makron, jos pinosta haetut luvut ovatyhtäsuuret.
?
Lukee rivin päätteeltä ja suorittaa sen.Tämä komento sallii makron pyytää tietoa käyttäjältä.
q
poistuu makrosta ja myös sitä kutsuneesta makrosta.Kutsuttuna ylimmältä tasolta tai makrosta, jota on kutsuttusuoraan ylimmältä tasolta,komentoqsaa aikaan poistumisen ohjelmasta dc .
Q
Ottaa arvon pinosta ja käyttää sitä poistuttavienmakrosuoritustasojen lukumääränä.Siten3Qpoistuu kolmelta makrotasolta.KomentoQei koskaan aiheuta poistumista ohjelmasta dc .
 

Tilakysely

Z
Ottaa arvon pinosta, laskee sen numeroiden lukumäärän(tai merkkien lukumäärän, jos kyseessä on merkkijono)ja työntää tämän luvun pinoon.
X
Ottaa arvon pinosta, laskee sen desimaalien lukumäärän jatyöntää tämän luvun pinoon.Merkkijonon kysymyksessä ollessa pinoon työnnettävä arvo on0.
z
Työntää pinoon pinon syvyystiedon;pinossa olleiden kohteiden lukumäärä ennen komentoaz .
 

Sekalaista

!
Toteuttaa loput rivistä systeemikomentona.
#
Tulkitsee loput rivistä kommentiksi.
:r
Ottaa pinon kaksi päällimmäistä arvoa. Vanha toiseksi päällimmäinenpinon arvo talletetaan sääntiöönr,joka indeksoidaan vanhalla päällimmäisellä pinon arvolla.
;r
Ottaa pinon päällimmäisen arvon ja käyttää sitä indeksinä sääntiöönr.Valittu arvo työnnetään pinoon.
 

HUOMAUTUKSIA

Sääntiöoperaatioita:ja;käytetään tavallisesti vain ohjelmanbcperinteisissä toteutuksissa.( GNUbcon itsenäinen ohjelma, joka ei tarvitse ohjelmaa dc toimiakseen.) 

BUGIT

Postita bugiraportit (englanniksi!) osoitteeseenbug-gnu-utilsAATTprep.ai.mit.edu.Muista kirjoittaa sana ``dc'' kenttään ``Subject:'' . 

KATSO MYÖS


 

Index

NIMI
YLEISKATSAUS
KUVAUS
Tulostuskomennot
Laskutoimitukset
Pinon hallinta
Rekisterit
Parametrit
Merkkijonot
Tilakysely
Sekalaista
HUOMAUTUKSIA
BUGIT
KATSO MYÖS

This document was created byman2html,using the manual pages.
 
ICM Bot detect detector