提供了一种交互式桌面计算器来完成任意精度的整数计算。
dc [ File]
dc 命令是一个任意精度的算术计算器。dc 命令从 File 参数或者标准输入得到其输入直到它读到一个文件结束符。一旦 dc 命令接收到输入,它将求出计算值并将计算值写入到标准输出当中。它按十进制整数计算,但是您可以指定输入和输出的基数,以及小数部分保留的位数。dc 命令结构如同一个堆栈、逆波兰表示法计算。
bc 命令是 dc 命令的一个预处理器。它提供插入式符号以及和 C 语言类似的语法,能够实现程序的功能和控制结构。
c | 清洁堆栈:dc 命令弹出堆栈中的所有的值。 |
d | 复制栈顶值。 |
f | 显示堆栈上的所有值。 |
i | 弹出栈顶值并将其作为进一步输入的基数。 |
I | 将输入基数压入栈顶。 |
k | 弹出栈顶值并将其作为非负比例因子。位置的恰当数目将会显示在输出中并在乘、除和求幂中保留下来。如果所有的数值一起修改,比例因子、输入基数、输出基数的交互作用是合理的。 |
lx | 将 x 变量代表的寄存器中的值压入堆栈。由 x 变量代表的寄存器是不能修改的。所有的寄存器都以为 0 的值启动。 |
Lx | 将 x 变量视为一个堆栈并将其顶部的值弹出到主堆栈中。 |
o | 将栈顶值弹出并且将其作为进一步输出的基数。 |
O | 将输出基数压入栈顶。 |
p | 显示栈顶值。顶部值不会发生改变。 |
P | 将栈顶作为一个字符串来进行解释,除去并显示它。 |
q | 退出程序。如果 dc 命令正在运行一个字符串,它将弹出递归级别为 2。 |
Q | 弹出栈顶值并将其作为字符串运行的级别。 |
sx | 弹出栈顶值并将其存放在名称为 x 的寄存器中,其中 x 变量可以是任何字符。 |
Sx | 将 x 变量视为一个堆栈。它弹出主栈顶并将其值压入到 x 变量所代表的堆栈。 |
v | 将堆栈顶部的元素用它的平方根来代替。选项中任何现有的小数部分将会计算在内,但是相反,比例因子将会被忽略。 |
x | 将堆栈顶部的元素视为一个字符串并将其作为 dc 命令的一个字符串来运行。 |
X | 将堆栈顶部的数字用它的比例因子来代替。 |
z | 将堆栈中的元素数压入到堆栈中。 |
Z | 将堆栈顶部的数字用这个数字的位数来代替。 |
Number | 将指定的值压入堆栈。Number 是一个完整的字符串其数字从 0 到 9。要表示一个负数,在它前面加上一个 _(下划线)。一个数字可以包含小数点。 |
+ - / * % ^ | 对堆栈顶部的两个数进行加(+)、减(-)、乘(*)、除(/)、求余(%)或者取幂 (^)。dc 命令弹出顶部的两个条目并将其结果压回到堆栈中。dc 命令忽略指数的小数部分。 |
[String] | 将用方括号里的 String 参数放到堆栈的顶部。 |
[= | > | < ] x | |
将堆栈顶部的两个元素弹出并进行比较。计算x 变量代表的寄存器的值就像它们遵循规定的关系。 | |
! | 将其作为一个操作系统命令来解释这一行中剩下的部分。 |
? | 获取并且运行一个输入行。 |
;: | bc 命令使用这些字符用来进行数组操作。 |
用户: 1 4 / p 系统: 0 用户: 1 k [ Keep 1 decimal place ]s. 1 4 / p 系统: 0.2 用户: 3 k [ Keep 3 decimal places ]s. 1 4 / p 系统: 0.250 用户: 16 63 5 / + p 系统: 28.600 用户: 16 63 5 + / p 系统: 0.235
dc 命令中可以使用注释如本例所示。包含在方括号中的注释和可能在其后附加 s.([ Comment] s.)都会被 dc 命令忽略。 只包含在方括号中的注释存储在堆栈的顶部。
如果是直接从键盘输入 dc 命令,按下 Ctrl-D 可以结束bc 命令会话并返回到 shell 命令行。
用户: dc prog.dc 5 lf x p [ 5 factorial ]s. 系统: 120 用户: 10 lf x p [ 10 factorial ]s. 系统: 3628800
该项解释 dc 程序,它保存在 prog.dc 程序文件当中,然后从工作站的键盘中读入。lf x 计算存储在寄存器 f 中的函数,它可以由 prog.c 程序文件定义如下:
[ 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
您可以使用任何文本编辑器或者使用 bc 的 -c(编译)标志来创建 dc 程序文件。当您直接从键盘输入 dc 命令表达式,按下 Ctrl-D 可以结束 bc 命令会话并返回到 shell 命令行。
/usr/bin/dc | 包含 dc 命令。 |
bc 命令。