dc

dc

任意精度计算器

说明

dc 是一款逆波兰表达式计算器,支持无限制精度的算术运算。它还允许您定义和调用宏。通常,dc从标准输入读取,也可以通过参数传入文件来求值。

语法

dc [选项] [文件...]

选项

-e, --expression=EXPR    # 评估表达式
-f, --file=FILE          # 评估文件内容
-h, --help               # 显示此帮助并退出
-V, --version            # 输出版本信息并退出
p 打印堆栈顶部的值并以换行符结束语句。
n 打印堆栈顶部的值并以空语句结束行。
f 打印整个堆栈,不做任何更改。
P 从栈顶弹出值。
c 清除堆栈。
d 复制顶部值并将其推入主堆栈。
r 反转堆栈中顶部两个元素的顺序。
Z 从堆栈中弹出值,计算其中的位数并压入该数字。
X 从堆栈中弹出值,计算其中的小数位数并压入该数字。
z 将堆栈长度推入堆栈。
i 从堆栈中弹出值并将其用作输入基数。
o 从堆栈中弹出值并将其用作输出基数。
k 从堆栈中弹出值并使用它来设置精度。
I 将输入基数的值推入堆栈。
O 将输出基数的值压入堆栈
K 将精度值压入堆栈。

示例

下面是 dc 命令在命令行完成的计算 10 * 10 得出结果 100,并推出的过程

$ dc        

10          # 1. 输入数字10
10          # 2. 输入数字10
*           # 3. 输入运算类型*表示乘
p           # 4. 输入p得到计算结果
100
q           # 5. 输入 q 退出 dc

示例显示在命令行结果 509

$ dc --expression="50 10 * 9 + p"
509

支持的运算

+ 从堆栈中弹出两个值,将它们相加,然后压栈结果。

- 弹出两个值,从弹出的第二个值中减去弹出的第一个值,并压栈结果。

* 弹出两个值,将它们相乘,然后压栈结果。结果中分数位数取决于当前精度值和两个参数中的分数位数。

/ 弹出两个值,将弹出的第二个值与弹出的第一个值相除,然后推送结果。分数位数由精度值指定。

% 弹出两个值,计算/命令将执行的除法的剩余部分,并推送该值。计算的值与序列 Sd dld/Ld*- 计算的值相同。

~ 弹出两个值,将弹出的第二个值与弹出的第一个值相除。首先推送商,然后推送余数。除法中使用的小数位数由精度值指定。

(序列 SdSn lnld/lnld% 也可以完成此功能,但错误检查略有不同。)

^ 使用弹出的第一个值作为指数,第二个值作为基数,弹出两个值并进行幂运算。忽略指数的分数部分。

| 弹出三个值并计算模幂。 弹出的第一个值用作约简模数; 这个值必须是一个非零数字,并且应该是一个整数。 弹出的第二个用作指数; 该值必须是非负数,并且该指数的任何小数部分都将被忽略。 弹出的第三个值是取幂的基数,它应该是一个整数。 对于小整数,这类似于序列 Sm^Lm%,但与 ^ 不同的是,此命令适用于任意大的指数。

v 弹出一个值,计算其平方根,然后压栈它。精度值的最大值和参数的精度用于确定结果中的小数位数。

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/dc/

(0)
AuroraAurora站点维系者
上一篇 2023年 12月 7日 下午7:20
下一篇 2023年 12月 7日 下午7:21

相关推荐

  • fold

    文章目录fold补充说明语法选项参数示例 fold 控制文件内容输出时所占用的屏幕宽度 补充说明 fold命令 用于控制文件内容输出时所占用的屏幕宽度。fold命令会从指定的文件里…

    入门教程 2023年 12月 14日
  • shopt

    文章目录shopt补充说明语法选项参数实例 shopt 显示和设置shell操作选项 补充说明 shopt命令 用于显示和设置shell中的行为选项,通过这些选项以增强shell易…

    入门教程 2024年 3月 4日
  • lpc

    文章目录lpc补充说明语法实例 lpc 命令行方式打印机控制程序 补充说明 lpc命令 式命令行方式打印机控制程序,有5个内置命令。 语法 lpc 实例 [root@localho…

    入门教程 2023年 12月 19日
  • Java 基本数据类型

    变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。 因此,通过定义不同类…

    2023年 3月 4日
  • Warning: The resulting partition is not properly aligned for best performance

    在使用parted创建分区时产生告警信息, “Warning: The resulting partition is not properly aligned for …

    入门教程 2023年 7月 11日
  • semanage

    文章目录semanage补充说明语法选项实例 semanage 默认目录的安全上下文查询与修改 补充说明 semanage命令 是用来查询与修改SELinux默认目录的安全上下文。…

    入门教程 2024年 3月 4日
  • pwd

    文章目录pwd补充说明内建命令概要选项返回值注意外部命令概要主要用途选项返回值注意例子 pwd 显示当前工作目录的绝对路径。 补充说明 pwd(英文全拼:print working…

    入门教程 2024年 3月 1日
  • eject

    文章目录eject补充说明语法选项参数 eject 用来退出抽取式设备 补充说明 eject命令 用来退出抽取式设备。若设备已挂入,则eject命令会先将该设备卸除再退出。 eje…

    入门教程 2023年 12月 14日
  • hwclock

    文章目录hwclock补充说明语法选项实例 hwclock 显示与设定硬件时钟 补充说明 hwclock命令 是一个硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬…

    入门教程 2023年 12月 15日
  • mount

    文章目录mount补充说明语法选项实例1实例2实例3 mount 用于挂载Linux系统外的文件 补充说明 mount命令 Linux mount命令是经常会使用到的命令,它用于挂…

    入门教程 2024年 1月 3日
Translate »