dc 命令
用途
提供了一种交互式桌面计算器来完成任意精度的整数计算。
语法
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 | 将堆栈顶部的数字用此数字的位数来代替。 |
| 编号 | 将指定的值压入堆栈。 数字 是数字 0 到 9 的未中断字符串。 要指定负数,请在其前面加上 _ (下划线)。 数字可包含小数点。 |
| + - / * % ^ | 对堆栈上的最上面两个值进行加 (+)、减 (-)、乘 (*)、除 (/)、求余 (%) 或者取幂 (^) 运算。 dc 命令会将前两个条目从堆栈中弹出,并将结果推送到堆栈中的位置。 dc 命令忽略指数的小数部分。 |
| [字符串] | 将用方括号里的 String 参数放到堆栈的顶部。 |
| [= | > | <] x | 将堆栈顶部的两个元素弹出并进行比较。 计算 x 变量表示的寄存器的值,如同它遵循规定的关系一样。 |
| ! | 将其作为一个操作系统命令来解释该行中剩下的部分。 |
| ? | 获取并且运行一个输入行。 |
| ;: | bc 命令将这些字符用于数组操作。 |
示例
- 要将 dc 命令用作计算器,请输入以下命令:
可在 dc 命令中使用注释,如示例中所示。 注释括在方括号中,并且可后跟You: 1 4 / p System: 0 You: 1 k [ Keep 1 decimal place ]s. 1 4 / p System: 0.2 You: 3 k [ Keep 3 decimal places ]s. 1 4 / p System: 0.250 You: 16 63 5 / + p System: 28.600 You: 16 63 5 + / p System: 0.235s.字符。[Comment]s.格式中的注释将被 dc 命令忽略。 仅那些括在方括号中的注释存储在堆栈顶部。直接从键盘输入 dc 命令表达式时,按 Ctrl-D 以结束 bc 命令会话并返回到 shell 命令行。
- 要装入并运行 dc 程序文件,请输入以下命令:
此条目解释保存在 prog.c 程序文件中的 dc 程序,然后从工作站键盘读取。 该lf x对存储在寄存器中的函数求值f,可以在 prog.c 程序文件中定义为:You: dc prog.dc 5 lf x p [ 5 factorial ]s. System: 120 You: 10 lf x p [ 10 factorial ]s. System: 3628800
您可以使用任何文本编辑器或 bc 命令的 -c (编译) 标志来创建 dc 程序文件。 如果是直接从键盘输入 dc 命令,按下 Ctrl-D 可以结束 bc 命令会话并返回到 shell 命令行。[ 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
文件
| 项 | 描述 |
|---|---|
| /usr/bin/dc | 包含 dc 命令。 |