dc man page on Solaris

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
Solaris logo
[printable version]

dc(1)				 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 struc‐
       ture 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 num‐
		       ber is an  unbroken string of the digits 0−9. It may be
		       preceded	 by an underscore (_) to input a negative num‐
		       ber. Numbers may	 contain decimal points.

       sx	       The top of the stack is popped and stored into a regis‐
		       ter 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.

       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 com‐
		       pared. Register x is evaluated if they obey the	stated
		       relation.

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

       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 factor: the appropriate number
		       of places are  printed on output, and maintained during
		       multiplication,	division,   and	 exponentiation.   The
		       interaction of scale factor, input  base,  and	output
		       base will be reasonable if all are changed together.

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

       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 (+), sub‐
		       tracted (−), 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 (+), sub‐
		       tracted (−), 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.

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 attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      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.

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

       exp not an integer	       dc  only	 processes integer exponentia‐
				       tion.

       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			  29 Aug 2003				 dc(1)
[top]

List of man pages available for Solaris

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net