A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-bash: dc: command not found #Debian apt-get install dc #Ubuntu apt-get install dc #Arch Linux pacman -S dc #Kali Linux apt-get install dc #CentOS yum install dc #Fedora dnf install dc #Raspbian apt-get install dc
dc 命令是一个桌面计算器,它支持任意的、无限制的精度算术和 RPN(后缀)表示法。它还允许您定义和调用宏。通常 dc 是从标准输入读取的; 如果给定任何命令参数,则它们是 filenames
,并且 dc 在从标准输入读取之前读取并执行文件的内容。所有正常输出均为标准输出;所有错误输出均为标准错误。
反向抛光(RPN)计算器将数字存储在堆栈中。输入数字会将其压入堆栈。算术运算将参数从堆栈中弹出并推入结果。
要以 dc 输入数字,请键入数字(使用大于 10 的输入基数时,使用大写字母 A 至 F 作为“数字” ),并带有可选的小数点。不支持指数表示法。要输入负数,请以 _ (下划线)开头。 - (破折号或连字符)不能用于此目的,因为它是用于减法的二进制运算符。要连续输入两个数字,请用空格或换行符分隔。这些命令无意义。
dc [-V] [--version] [-h] [--help] [-e scriptexpression] [--expression=scriptexpression] [-f scriptfile] [--file=scriptfile] [file ...]
-e<脚本> 增加脚本中的命令到程序的命令设置 -f<脚本文件> 增加脚本文件中的命令到程序的命令设置 P 弹出堆栈最顶端的值 p 输出堆栈最顶端的值 n 弹出堆栈最顶端的值,然后关闭,不显示一个换行符 f 显示堆栈的所有内容 + 加 -- 减 * 乘 / 除 % 余数 ^ 指数 v 开方
首先,在命令行中,让我们输入桌面计算器命令 dc
:
$dc #dc的提示只是空白行,可以接受我们的命令了。首先,让我们将一个数字压入堆栈。怎么样1234: 1234 #同样,似乎什么也没发生。让我们使用f查看堆栈的全部内容: f #打印以下内容: 1234
因此 1234
在堆栈上,可以进行操作了。在这里,我们将其乘以 2 并打印结果。dc 使用反向抛光(后缀)表示法,该运算符将操作数放在第一位,并将运算符放在第二位。下面的命令意思是:取栈中的最上面的项目,对第二个进行运算,使用运算乘法,然后打印结果 :
2* p #这需要我们的栈顶项目1234,乘它由2,并打印结果值: 2468 #接下来我们再减去468 468- p 2000 #此时结果是2000,下面继续除以2 2/ p 1000 #此时结果就是1000,此时我们继续使用vp来求平方根 vp 31 #结果31,由于默认精度为0(计算小数点后的零位),并且我们没有更改它,因此结果已四舍五入为最接近的整数。答案实际上接近31.62。 #为了获得更精确的答案,我们必须告诉 dc 使用更高的精度。让我们告诉它使用k命令计算到十个地方: 10 k 1000 v p 31.6227766016 #<----此时精度是按10位,整个过程如下: #1.将10推入堆栈; #2.告诉k从堆栈中弹出该数字并将精度设置为许多小数位; #3.将1000推入堆栈; #4.告诉v从堆栈中弹出1000,计算平方根,然后将结果压入堆栈,然后用p打印结果。
dc 命令其他示例:
$ dc c #清除堆栈 p #打印看看刚才的c是否生效? dc: stack empty #<---确认清空 1 2 p 2 #<---显示最后一个,如果希望显示全部,用 f: f 2 1 +p #<--打印“加”的结果 3 q #退出 dc
dc 整体例子,计算 36 的开方的值:
[root@commandnotfound ~]$ dc 36 v p 6 q
dc 运算 18*18
的值:
[root@commandnotfound ~]$ dc 18 18 * p 324 q
dc 做一次综合运算:
[root@commandnotfound ~]$ dc 7 8 * p 56 3 2 ^ p 9 2 / p 4 f 4 56 +p 60 q