Name

dc

Synopsis

    dc [file]

An interactive desk calculator program that performs arbitrary-precision integer arithmetic (input may be taken from a file). Normally you don’t run dc directly, since it’s invoked by bc (see bc). dc provides a variety of one-character commands and operators that perform arithmetic; dc works like a Reverse Polish calculator; therefore, operators and commands follow the numbers they affect. Operators include + - / * % ^ (as in C, although ^ means exponentiation).

GNU/Linux and Mac OS X use the GNU version of dc that accepts a number of options and has additional commands; see dc(1) for the details. Some simple commands follow.

p

Print current result.

q

Quit dc.

c

Clear all values on the stack.

v

Take square root.

i

Change input base; similar to bc’s ibase.

o

Change output base; similar to bc’s obase.

k

Set scale factor (number of digits after decimal); similar to bc’s scale.

!

Remainder of line is a Unix command.

Examples

$ dc
                     3 2 ^ p        
                     Evaluate 3 squared, then print result
    9
    8 * p          
                     Current value (9) times 8, then print result
    72
    47 - p         
                     Subtract 47 from 72, then print result
    25
    v p            
                     Square root of 25, then print result
    5
    2 o p          
                     Display current result in base 2
    101

Note: spaces are not needed except between numbers.

Get Unix in a Nutshell, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.