*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: dc | Section: 1 | Source: Digital UNIX | File: dc.1.gz
dc(1) General Commands Manual dc(1) NAME dc - Provides an interactive desk calculator for arbitrary precision integer arithmetic SYNOPSIS dc DESCRIPTION The dc command is an arbitrary precision arithmetic calculator. The dc command takes its input from file or standard input until it reads an End-of-File character. It writes to standard output. The dc command operates on integers by default, but you can specify an input base, output base, and a number of fractional digits to be maintained. The dc command is structured overall as a stacking, reverse Polish calcula- tor. The bc command is a preprocessor for dc. It provides infix notation and a syntax similar to the C language, which implements functions and reasonable control structures for programs. SUBCOMMANDS Pushes the specified value onto the stack. number is an unbroken string of the digits 0 to 9. To specify a negative number, precede it with _ (underscore). A number can contain a decimal point. Adds (+), subtracts (-), multiplies (*), divides (/), remainders (%), or exponen- tiates (^) the top two values on the stack. The dc command pops the top two entries off the stack and pushes the result on the stack in their place. Interprets the rest of the line as a system command. Ex- ecutes a line of input from standard input. Cleans the stack: dc pops all values on the stack. Duplicates the top value on the stack. Dis- plays all values on the stack. Pops the top value on the stack and uses that value as the number radix for further input. Pushes the in- put base on the top of the stack. Pops the top of the stack, and uses that value as a nonnegative scale factor. The appropriate number of places is displayed on output and is maintained during multiplication, division, and exponentiation. The interaction of scale factor, input base, and output base is reasonable if all are changed together. Pushes the value in register x on the stack. The register x is not changed. All registers start with zero value. Treats x as a stack and pops its top value onto the main stack. Pops the top value on the stack and uses that value as the number radix for further output. Pushes the output base on the top of the stack. Prints the top value on the stack. The top value remains unchanged. Interprets the top value on the stack as an ASCII string, prints it, and removes it. Ex- its the program. If dc is executing a string, it pops the recursion level by two. Pops the top value on the stack and the string execu- tion level by that value. Pops the top of the stack and stores it in a register named x, where x can be any single-byte character. Replaces the top element on the stack by its square root. Any existing frac- tional part of the argument is taken into account, but otherwise the scale factor is ignored. Treats x as a stack. It pops the top of the main stack and pushes that value onto stack x. Treats the top element of the stack as a character string and executes it as a string of dc commands. Replaces the number on the top of the stack with its scale factor. Pushes the number of elements in the stack onto the stack. Replaces the top number in the stack with the number of digits in that number. Puts the bracketed string onto the top of the stack. Pops the top two elements of the stack and compares them. Register x is exe- cuted if the stated relationship is TRUE. dc uses these characters for array operations. EXAMPLES To use dc as a calculator proceed as follows: Enter: 1 4 / p [Divide 1 by 4]s. The system responds as follows: 0 Enter: 1 k [ Keep 1 decimal place]s. 1 4 / p The system responds as follows: 0.2 Enter: 3 k [ Keep 3 decimal places]s. 1 4 / p The system responds as follows: 0.250 Enter: 16 63 5 / + p [Divide 63 by 5, add the result to 16]s. The system responds as follows: 28.600 Enter: 16 63 5 + / p [Add 63 and 5, divide the result by 16]s. The system responds as follows: 0.235 You can type the comments (enclosed in brackets), but they are provided only for your information. When you enter dc expressions directly from the keyboard, press the End-of-File key sequence to end the dc session and return to the shell command line. To load and run a dc program file, pro- ceed as follows: Enter: dc prog.dc 5 lf x p [ 5 factorial ]s. The system responds as follows: 120 Enter: 10 lf x p [ 10 factorial ]s. The system responds as follows: 3628800 This interprets the dc program saved in prog.dc, then reads from standard input. The lf x evaluates the function stored in regis- ter f, which could be defined in the program file prog.dc as: [ f: compute the factorial of n ]s. [ (n = the top of the stack) ]s. [ If 1>n do b; If 1<n do r ]s. [d 1 >b d 1 <r] sf [ Return f(n) = 1 ]s. [d - 1 +] sb [ Return f(n) = n * f(n-1) ]s. [d 1 - lf x *] sr You can create dc program files with a text editor, or with the -c (compile) flag of the bc command. When you enter dc expressions di- rectly from the keyboard, press the End-of-File key sequence to end the dc session and return to the shell command line. SEE ALSO Commands: bc(1) dc(1)

Navigation Options