IPB
>  Man Pages > Unix > Solaris 10 11/06 > Section 1 > dc man page

dc man page

Section 1 - Solaris 10 11/06 Man Pages

Other operating system man pages available here


Advanced Search

Hopefully, this page is exactly what you are looking for, but if not, you can always find further assistance on Unix/Linux Forum!





User Commands                                               dc(1)



NAME
     dc - desk calculator

SYNOPSIS
     /usr/bin/dc [filename]

     /usr/xpg6/bin/dc [filename]

DESCRIPTION
     dc is an arbitrary precision arithmetic package.  Ordinarily
     it  operates  on  decimal  integers,  but one may specify an
     input base, output base, and a number of  fractional  digits
     to  be maintained. The overall structure of dc is a stacking
     (reverse Polish) calculator. If an argument is given,  input
     is  taken  from that file until its end, then from the stan-
     dard input.

     bc is a preprocessor for dc that provides infix notation and
     a  C-like syntax that implements functions. bc also provides
     reasonable control structures for programs. See bc(1).

USAGE
  /usr/bin/dc, /usr/xpg6/bin/dc
     The  following  constructions  are  recognized  under   both
     /usr/bin/dc and /usr/xpg6/bin/dc:

     number          The value of the number  is  pushed  on  the
                     stack.  A  number  is an  unbroken string of
                     the digits 0-9. It may  be  preceded  by  an
                     underscore  (_)  to input a negative number.
                     Numbers may  contain decimal points.



     sx              The top of the stack is  popped  and  stored
                     into  a register named x, where x may be any
                     character.  If the s is  capitalized,  x  is
                     treated  as  a stack and the value is pushed
                     on it.



     lx              The value in register x  is  pushed  on  the
                     stack.  The  register  x is not altered. All
                     registers start with zero value.  If  the  l
                     is  capitalized,  register x is treated as a
                     stack and its top value is popped  onto  the
                     main stack.







SunOS 5.10          Last change: 29 Aug 2003                    1






User Commands                                               dc(1)



     d               The top value on the stack is duplicated.



     p               The top value on the stack is  printed.  The
                     top value remains  unchanged.



     P               Interprets the top of the stack as an  ASCII
                     string, removes it,  and prints it.



     f               All values on the stack are printed.



     q               Exits the program. If  executing  a  string,
                     the recursion level is popped by two.



     Q               Exits the program.  The  top  value  on  the
                     stack  is  popped  and  the string execution
                     level is popped by that value.



     x               Treats the top element of  the  stack  as  a
                     character string and executes it as a string
                     of dc commands.



     X               Replaces the number on the top of the  stack
                     with its scale factor.



     [ ... ]         Puts the bracketed ASCII string onto the top
                     of the stack.



     <x  >x  =x      The top two elements of the stack are popped
                     and  compared.  Register  x  is evaluated if
                     they obey the stated relation.







SunOS 5.10          Last change: 29 Aug 2003                    2






User Commands                                               dc(1)



     v               Replaces the top element on the stack by its
                     square  root.  Any  existing fractional part
                     of the argument is taken into  account,  but
                     otherwise the scale factor is ignored.



     !               Interprets the rest of the line as  a  shell
                     command.



     c               All values on the stack are popped.



     i               The top value on the  stack  is  popped  and
                     used as the number radix  for further input.



     I               Pushes the input base  on  the  top  of  the
                     stack.



     o               The top value on the  stack  is  popped  and
                     used  as  the number radix for  further out-
                     put.



     O               Pushes the output base on  the  top  of  the
                     stack.



     k               The top of the stack  is  popped,  and  that
                     value  is used as a  non-negative scale fac-
                     tor: the appropriate number  of  places  are
                     printed  on  output,  and  maintained during
                     multiplication, division,   and  exponentia-
                     tion.   The  interaction  of  scale  factor,
                     input base, and  output base will be reason-
                     able if all are changed together.



     K               Pushes the current scale factor on  the  top
                     of the stack.





SunOS 5.10          Last change: 29 Aug 2003                    3






User Commands                                               dc(1)



     z               The stack level is pushed onto the stack.



     Z               Replaces the number on the top of the  stack
                     with its length.



     ?               A line of input  is  taken  from  the  input
                     source (usually the terminal) and executed.



     Y               Displays dc debugging information.



     ; :             Used by  bc(1) for array operations.



  /usr/bin/dc
     The following construction is recognized under  /usr/bin/dc,
     using the scale of whatever the result is.

     + - / * % ^     The top two values on the  stack  are  added
                     (+), subtracted (-), multiplied (*), divided
                     (/), remaindered (%), or exponentiated  (^).
                     The  two  entries  are popped off the stack;
                     the result is pushed on the stack  in  their
                     place. Any fractional part of an exponent is
                     ignored.



  /usr/xpg6/bin/dc
     The   following    construction    is    recognized    under
     /usr/xpg6/bin/dc. The results of division are forced to be a
     scale of 20.

     + - / * % ^     The top two values on the  stack  are  added
                     (+), subtracted (-), multiplied (*), divided
                     (/), remaindered (%), or exponentiated  (^).
                     The  two  entries  are popped off the stack.
                     The result is pushed on the stack  in  their
                     place. Any fractional part of an exponent is
                     ignored.

                     Ensures that the scale set prior to division
                     is the scale of the result.




SunOS 5.10          Last change: 29 Aug 2003                    4






User Commands                                               dc(1)



EXAMPLES
     Example 1: Printing the first ten values of n!

     This example prints the first ten values of n!:

     [la1+dsa*pla10>y]sy
     0sa1
     lyx

ATTRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWesu                     |
    |_____________________________|_____________________________|


SEE ALSO
     bc(1), attributes(5)

DIAGNOSTICS
     x is unimplemented              x is an octal number.



     out of space                    The free list  is  exhausted
                                     (too many digits).



     out of stack space              Too  many  pushes  onto  the
                                     stack (stack overflow).



     empty stack                     Too many pops from the stack
                                     (stack underflow).



     nesting depth                   Too many  levels  of  nested
                                     execution.



     divide by 0                     Division by zero.






SunOS 5.10          Last change: 29 Aug 2003                    5






User Commands                                               dc(1)



     sqrt of neg number              Square root  of  a  negative
                                     number  is  not  defined (no
                                     imaginary numbers).



     exp not an integer              dc  only  processes  integer
                                     exponentiation.



     exp too big                     The largest exponent allowed
                                     is 999.



     input base is too large         The input base x: 2<=  x  <=
                                     16.



     input base is too small         The input base x: 2<=  x  <=
                                     16.



     output base is too large        The output base must  be  no
                                     larger than  BC_BASE_MAX.



     invalid scale factor            Scale factor cannot be  less
                                     than 1.



     scale factor is too large       A  scale  factor  cannot  be
                                     larger than  BC_SCALE_MAX.



     symbol table overflow           Too many variables have been
                                     specified.



     invalid index                   Index cannot be less than 1.



     index is too large              An index  cannot  be  larger
                                     than  BC_DIM_MAX.



SunOS 5.10          Last change: 29 Aug 2003                    6






User Commands                                               dc(1)























































SunOS 5.10          Last change: 29 Aug 2003                    7








Man(1) output converted with man2html and wrapped by fishsponge

This page was generated on Wed Sep 12 11:24:33 GMT 2007

Your favourite pages:

No pages logged yet.
Trying to save cookie...

Top 10 most popular pages:

sqlite3 man page (5080 hits)
(openSUSE 10.2)

adv_cap_autoneg man page (4745 hits)
(Solaris 10 11_06)

CPAN man page (4465 hits)
(Suse Linux 10.1)

ssh man page (4248 hits)
(Suse Linux 10.1)

svn man page (4222 hits)
(FreeBSD 6.2)

startproc man page (2190 hits)
(Suse Linux 10.1)

ssh-socks5-proxy-connect man page (2183 hits)
(Solaris 10 11_06)

netcat man page (2151 hits)
(Suse Linux 10.1)

pprosetup man page (2007 hits)
(Solaris 10 11_06)

signal man page (1991 hits)
(Suse Linux 10.1)

Useful Links

Go Back

Visitor Statistics


Valid XHTML 1.0 Transitional     Valid CSS!

Partners: Cambridge Plus :: Pyrenees Ski Resorts :: Illuminated Touch Panel :: <Link Available>
Unix Man Pages / Linux Man Pages :: HiFi Forum :: SIP VoIP Phone & Provider Reviews :: UNIX/Linux Forum Archives

More info on advertising on Unix/Linux Forum