dc man page on Ultrix

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

dc(1)									 dc(1)

Name
       dc - desktop calculator

Syntax
       dc [file]

Description
       The  command  is an arbitrary precision arithmetic package.  Ordinarily
       it operates on decimal integers, but you can  specify  an  input	 base,
       output  base,  and a number of fractional digits to be maintained.  The
       overall structure of is a stacking (reverse Polish) calculator.	If  an
       argument	 is  given,  input is taken from that file until its end, then
       from the standard input.	 The following constructions are recognized:

       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.

       +  - /  *  %  ^
	       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.

       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.

       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.  If q is capitalized, 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 commands.

       X       Replaces the number on the top of the stack with its scale fac‐
	       tor.

       [ ... ] 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 executed 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 UNIX 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.  When the base (number radix) is re-
	       set, all subsequent numbers are interpreted in the new base.

	       For example, if the command is issued twice, first to  set  the
	       base  to base 2, then to reset it back to base 10, the new base
	       value must be given in the base originally set (that is, `2  i'
	       will  set  the base to base 2, after which `1010 i' will set it
	       back to base 10).

       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, divi‐
	       sion, and exponentiation.  The  interaction  of	scale  factor,
	       input  base,  and  output  base	will  be reasonable if all are
	       changed together.

       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.

       ; :     Used by for array operations.

       An example which prints the first ten values of n! is the following:
       [la1+dsa*pla10>y]sy
       0sa1
       lyx

Diagnostics
       "x is unimplemented"
       x is an octal number.

       "stack empty"
       Not enough elements on the stack to do what was asked.

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

       "Out of headers"
       Too many numbers being kept around.

       "Out of pushdown"
       Too many items on the stack.

       "Nesting Depth"
       Too many levels of nested execution.

See Also
       bc(1)

									 dc(1)
[top]

List of man pages available for Ultrix

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