3/15/72 DC (I) NAME dc -- desk calculator SYNOPSIS dc [file] DESCRIPTION dc is an arbitrary precision integer arithmetic package. The overall structure of dc is a stack- ing (reverse Polish) calculator. The following constructions are recognized by the calculator: number The value of the number is pushed on the stack. If the number starts with a zero, it is taken to be octal, otherwise it is decimal. + - * / % The top two values on the stack are added (+), subtracted (-), multiplied (*), divided (/), or remaindered (%). The two entries are popped off of the stack; the result is pushed on the stack in their place. sx The top of the stack is popped and stored into a register named x, where x may be any charac- ter. lx The value in register x is pushed on the stack. The register x is not altered. d The top value on the stack is pushed on the stack. Thus the top value is duplicated. p The top value on the stack is printed in deci- mal. The top value remains unchanged. f All values on the stack are popped off and printed in decimal. q exits the program. x treats the top element of the stack as a char- acter string and executes it as a string of dc commands. ! interprets the rest of the line as a UNIX com- mand. r All values on the stack are popped. nk n A scale factor of 10 is set for all subse- quent multiplication and division. new-line space ignored. An example to calculate the monthly, weekly and hourly rates for a $10,000/year salary. 10000 100* (now in cents) dsa (non-destructive store) 12/ (pennies per month) la52/ (pennies per week) d10* (deci-pennies per week) 375/ (pennies per hour) f (print all results) (3) 512 (2) 19230 (1) 83333 FILES -- SEE ALSO -- DIAGNOSTICS (x) ? for unrecognized character x. (x) ? for not enough elements on the stack to do what was asked. "Out of space" when the free list is exhausted. BUGS f is not implemented % is not implemented OWNER rhm