Provided by: manpages-fi_4.15.0-9_all bug

NIMI

       dc - laskin, jolla on rajoittamaton laskentatarkkuus

YLEISKATSAUS

       dc [-V] [--version] [-h] [--help]
          [-e scriptexpression] [--expression=scriptexpression]
          [-f scriptfile] [--file=scriptfile]
          [file ...]

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 annetaan komentoriviargumentteja, ne ovat
       tiedostonimiä, ja  dc  lukee  ja  suorittaa  tiedostojen  sisällön  ennen  kuin  se  lukee
       vakiosyö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 ottavat argumentit pinosta ja työntävät tulokset pinoon.

       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.

VALITSIMET

       dc may be invoked with the following command-line options:

       -V

       --version
              Print out the version of dc that is being run and a copyright notice, then exit.

       -h

       --help Print a usage message  briefly  summarizing  these  command-line  options  and  the
              bug-reporting address, then exit.

       -e skripti

       --expression=skripti
              Add  the  commands  in script to the set of commands to be run while processing the
              input.

       -f skriptitiedosto

       --file=skriptitiedosto
              Add the commands contained in the file script-file to the set of commands to be run
              while processing the input.

       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.

Tulostuskomennot

       p      Tulostaa pinon päällimmäisen arvon muuttamatta pinoa.   Arvon  jälkeen  tulostetaan
              rivinvaihto.

       n      Prints  the  value  on  the  top of the stack, popping it off, and does not print a
              newline after.

       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      Tulostaa  pinon  koko  sisällön muuttamatta 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 ja työntää tuloksen  pinoon.   Tuloksen
              tarkkuuden  määrää  vain  argumenttien  arvot  ja  se  on  riittävän suuri antamaan
              eksaktin tuloksen.

       -      Ottaa kaksi arvoa pinosta, vähentää  ensin  otetun  toiseksi  otetusta  ja  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 otetulla ja 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. Jakolasku tehdään niin monella desimaalilla
              kuin tarkkuusarvo määrittelee, ja jakojäännös lasketaan yhtä monella desimaalilla.

       ~      Ottaa kaksi arvoa pinosta, jakaa toiseksi otetun arvon ensiksi  otetulla.  Osamäärä
              työnnetään  ensin  pinoon  ja  jakojäännös  seuraavaksi.   Tarkkuusarvo määrittelee
              jakolaskussa käytettyjen desimaalien lukumäärän. (Jono SdSn lnld/  LnLd%  voi  myös
              toteuttaa tämän funktion, virhetarkistuksen ollessa hiukan erilainen.)

       ^      Ottaa  kaksi  arvoa pinosta ja tekee potenssiin korotuksen, jossa ensin otettu arvo
              on eksponentti ja toiseksi otettu on kantaluku. 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 olla nollasta
              poikkeava ja tulisi olla  kokonaisluku.  Toista  pinosta  otettua  arvoa  käytetään
              eksponenttina;  sen  tulee  olla ei-negatiivinen luku ja sen desimaaliosaa ei oteta
              huomioon. Kolmas pinosta otettu arvo  on  kantaluku,  joka  korotetaan  potenssiin.
              Tarkkuusarvo määrää tuloksen desimaalien lukumäärän. Pienillä luvuilla tämä on kuin
              jono Sm lble^ Lm%, mutta toisin kuin ^, tämä komento toimii mielivaltaisen suurilla
              eksponenteilla.

       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.

       Useimpiin  laskutoimituksiin  vaikuttaa  “tarkkuusarvo”, jonka voit asettaa komennolla k .
       Oletustarkkuus on nolla, mikä tarkoittaa sitä, että  kaikki  laskutoimitukset  yhteen-  ja
       vähennyslaskua lukuunottamatta antavat tulokseksi kokonaisluvun.

Pinon hallinta

       c      Clears the stack, rendering it empty.

       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      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.

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 rekisteriin 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.

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

       Sr     Ota  (pää)pinon  päällimmäinen  arvo  ja  työnnä se rekisterin r pinoon. Rekisterin
              edelliseen arvoon ei pääse käsiksi.

       Lr     Ota rekisterin r pinon päällimmäinen arvo ja työnnä  se  pääpinoon.   Rekisterin  r
              pinon  edelliseen  arvoon,  jos sellainen on, voidaan nyt päästä käsiksi komennolla
              lr.

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  tuloksen  edellyttä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 -- 16
       (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 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.

       [characters]
              Tekee merkkijonoon, joka sisältää characters (sijoitettuna merkkien [ ja ] väliin),
              ja työntää sen pinoon.  Esimerkiksi [foo]P tulostaa merkit foo (ei rivinvaihtoa).

       a      Ottaa  pinon  päällimmäisen  kohteen.  Jos se oli luku, sen alin tavu konvertoidaan
              merkkijonoksi  ja  työnnetään  pinoon.   Muutoin  pinon  päällimmäinen  kohde   oli
              merkkijono, ja sen ensimmä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]x  suorittaa  makron  1p  joka  työntää  1  pinon  ja  tulostaa  1
              erilliselle riville.

       Makrot talletetaan useimmiten rekistereihin; [1p]sa tallettaa makron,  joka  kirjoittaa  1
       rekisteriin a, ja lax kutsuu tämän makron.

       >r     Ottaa kaksi arvoa pinosta ja vertaa niitä olettaen, että ne ovat lukuja, toteuttaen
              rekisterin r  sisällön  makrona,  jos  alkuperäinen  pinon  päällimmäinen  arvo  on
              suurempi.  Siten 1 2>a kutsuu rekisterin a sisällön, mutta 2 1>a ei kutsu.

       !>r    Kuten  edellinen, mutta kutsuu makron, jos alkuperäinen pinon päällimmäinen arvo on
              pienempi.

       <r     Kuten edelliset, mutta kutsuu makron, jos pinosta haetut luvut ovat yhtäsuuret.

       !<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     Similar but invokes the macro if the two numbers popped are equal.

       !=r    Similar but invokes the macro if the two numbers popped are not equal.

       ?      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  kutsuttu  suoraan ylimmältä tasolta, komento q saa aikaan
              poistumisen ohjelmasta dc .

       Q      Ottaa arvon pinosta ja käyttää sitä poistuttavien makrosuoritustasojen lukumääränä.
              Siten  3Q  poistuu kolmelta makrotasolta.  Komento Q ei koskaan aiheuta poistumista
              ohjelmasta dc .

Tilakysely

       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      Ottaa  arvon  pinosta,  laskee  sen  desimaalien  lukumäärän ja työntää tämän luvun
              pinoon.  Merkkijonon kysymyksessä ollessa pinoon työnnettävä arvo on 0.

       z      Työntää pinoon pinon  syvyystiedon;  pinossa  olleiden  kohteiden  lukumäärä  ennen
              komentoa z.

Sekalaista

       !      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 !.

       #      Tulkitsee loput rivistä kommentiksi.

       :r     Ottaa  pinon  kaksi  päällimmäistä  arvoa.  Vanha toiseksi päällimmäinen pinon arvo
              talletetaan sääntiöön r, joka indeksoidaan vanhalla päällimmäisellä pinon arvolla.

       ;r     Ottaa pinon päällimmäisen arvon ja käyttää sitä  indeksinä  sääntiöön  r.   Valittu
              arvo työnnetään pinoon.

       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.

TIEDOSTOT

       ~/.dcrc        The commands in this file will be executed when dc is first run.

BUGIT

       Ilmoita ohjelmistovioista (englanniksi) osoitteeseen bug-dc@gnu.org.

KÄÄNNÖS

       Tämän käsikirjan suomenkielisen käännöksen tekivät Tuukka Forssell <taf@jytol.fi>

       Tämä  käännös  on  ilmainen  dokumentaatio;  katso  tekijänoikeusehdot  GNU General Public
       License -versiosta 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ tai uudemmasta. Emme  ota
       vastuuta.