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 就是计算器。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值