本文主要是介绍Linux编程实践 bc:unix 的计算器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Unix 系统中的 bc 命令是执行一个基于字符的计算器程序。
目录
bc 命令
处理大整数
可编程的 bc
什么是 dc
内部如何操作
bc 与 dc 之间的关系
bc 命令
bc 命令是任意精度计算器语言,通常在linux下当计算器用。
它类似基本的计算器, 使用这个计算器可以做基本的数学运算。
常用的运算:
- + 加法
- - 减法
- * 乘法
- / 除法
- ^ 指数
- % 余数
举例:
2+3*4+5*10
64
bc 会显示计算结果,而且知道先算乘法在做加法。退出 bc,Ctrl+D
处理大整数
bc 的一个重要特点是,可以处理很大的整数,如:
999999999999999999999999*888888888888888888888888
888888888888888888888887111111111111111111111112
还可以通过幂运算来运算:
3333^44
10110061584495640995005898489182285794822405288498070703365111794769\
43890411064925291154381468890721948142209004688381870355409155411563\
21805747562427309521
可编程的 bc
bc 是可以编程的,可以定义变量,有逻辑判断和循环结构,语法与 c 语言类似,比如:
x = 3
if(x == 3){y = x*3;
}y
9
从严格意义来说,bc 不做任何计算,主要依赖于 dc
什么是 dc
dc是一个支持非匹配精度算法的逆波兰台式计算器。
它还允许您定义和调用宏。通常dc从标准输入读取;
如果给它任何命令参数,它们就是文件名,dc在从标准输入读取之前读取并执行文件的内容。所有正常输出为标准输出;所有误差输出为标准误差。反向波兰计算器将数字存储在堆栈上。输入一个数字将其推到堆栈上。算术运算从堆栈中弹出参数并推送结果。如计算 2+3 的值,对应的逆波兰表达式为:23+,就是说操作符在后面,也成后缀表达式。
比如:
2
3
+
p
5
必须是一个数字占用一行,比如输入 2 换行,输入 3换行,输入+换行,p 是为了打印结果。输出的意思。
内部如何操作
先将 2 入栈,在将 3 入栈,然后将栈顶的两个数出站,计算他们的和,并将结果入栈,p 是为了将栈顶元素打印出来。dc 本身是一个基于栈的计算器。
bc 与 dc 之间的关系
bc 是 dc 的预处理器,他将用户输入的表达式转换成逆波兰表达式,然后通过一个成为管道的通信程序交给 dc:
对普通用户来说,bc 就是计算器。
这篇关于Linux编程实践 bc:unix 的计算器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!