1. 基本用法:

$ bc <<< 5*4
20
$ bc <<< 5+4
9
$ bc <<< 5-4
1

或者

$ echo "5*4" | bc
20
$ echo "5+4" | bc
9
$ echo "5-4" | bc
1

也可以把算式写到文件里面,然后一次计算。

$ cat calcFile
5+5
6+7$ bc < calcFile
10
13

也可以使用HERE 命令:

$ bc << HERE
> 1+4
> 4-1
> 2*4
> HERE
5
3
8

可以使用内置的变量 last 引用上一次的结果:

$ echo "5-4;last+6" | bc
1
7

last 也可以用 点号代替:

$ echo "5-4;.+6" | bc
1
7

2. 浮点数运算:

可以使用scale指定小数点之后的位数(默认为0,即整数)

$ echo "sqrt(10)" | bc
3
$ echo "scale=1;sqrt(10)" | bc
3.1
$ echo "scale=10;sqrt(10)" | bc
3.1622776601

有时候得不到指定的位数:

$ echo "scale=10; 1.25*9" | bc
11.25

此时,可以修改为:

$ echo "scale=10; 1.25*9/1" | bc
11.2500000000

3. 数制转换:

可以使用变量 ibase表示转换前数字的数制;obase表示转换后数字的数制

$ echo 'obase=16;128' | bc
80
$ echo 'ibase=16;obase=A;80' | bc
128
$ echo 'obase=2;128' | bc
10000000
$ echo 'ibase=2;obase=A;10000000' | bc
128
$ echo "obase=10;ibase=16;80" | bc
128

4. 指数运算:

$ echo "5^5" | bc
3125
$ echo "(5^5)^5" | bc
298023223876953125

记得第一个指数运算的结果要添加括号。

5. 基于函数库的运算

bc支持以下函数:

s(x): 正弦函数(x为弧度)

c(x): 余弦函数(x为弧度)

a(x): 反正切函数(结果为弧度)

l(x):  自然对数函数

e(x): 以e为底的指数函数

j(n,x):  贝赛尔函数

此时,bc要加上 -l 参数 (此时,  scale 为20)

计算 log1.5(2) (以 1.5为底,2的对数):

$ echo "l(2)/l(1.5)" | bc -l
1.70951129135145477699

也可以用 awk命令:

$ awk 'BEGIN {printf "%1l.9f\n", log(2)/log(1.5)}'
1.709511291

6. 脚本函数编程:

$ cat calc_prog
print "Enter a number A\n"; a = read()print "Enter another number B\n"; b = read()if (b == a) {print "B = A\n";}if (a < b) {print "B > A\n";}if (a > b) {print "B < A\n";}
$ bc -l calc_prog

7. 脚本模拟计算器:

$ cat calc.sh
#!/bin/bashbc << END
scale=2
$@
END
$ ./test.sh  1+2
3

参考:

http://mylinuxbook.com/linux-command-line-calculator-bc-examples/

linux BC命令行计算器相关推荐

  1. linux中脚本引入计算bc,linux BC命令行计算器

    1. 基本使用: $ bc <<< 5*4 20 $ bc <<< 5+4 9 $ bc <<< 5-4 1或者 $ echo "5*4 ...

  2. linux脚本写的计算器,一步步打造自己的linux命令行计算器

    相信很多人,在工作中会需要使用到计算器.一般的做法是,打开并使用系统自带的计算器. 这种做法可能对我来说,有如下几个问题. 太慢.每次需要打开计算器,然后改成编程模式,手工选择进制,再使用输入表达式进 ...

  3. Linux中w r x数学代码,Linux bc命令实现数学计算器

    bash shell 内置了对整数运算的支持,但是并不支持浮点运算,而 linux bc 命令可以很方便的进行浮点运算,当然整数运算也不再话下. bc 甚至可以称得上是一种编程语言了,它支持变量.数组 ...

  4. linux bc命令源代码,Linux bc命令实现数学计算器

    Bash Shell 内置了对整数运算的支持,但是并不支持浮点运算,而 Linux bc 命令可以很方便的进行浮点运算,当然整数运算也不再话下. bc 甚至可以称得上是一种编程语言了,它支持变量.数组 ...

  5. linux bc命令全称,Linux bc 命令

    Linux bc 命令 bc 命令是任意精度计算器语言,通常在linux下当计算器用. 它类似基本的计算器, 使用这个计算器可以做基本的数学运算. 常用的运算: + 加法 - 减法 * 乘法 / 除法 ...

  6. linux基础命令行操作【1】

    目录 1.基本命令 2.文件相关知识 3.文本相关操作 4.文件解压.压缩.打包命令 1.基本命令 Ctrl+A/t+Fn+F6:管理Linux(Fn+数字) Linux:输入密码是不显示 Alt+F ...

  7. Linux快捷键-命令行下

    LINUX中命令行下是没有鼠标的,所以所有的操作只能通过键盘来实现.确实,鼠标对于电脑而言感觉还是很重要的,相对与Windows,Linux在易操作性上差的很多.所以,对于我们技术人员来讲,刚开始学习 ...

  8. Linux终端命令行下的常用快捷键使用

    Linux终端命令行下的常用快捷键 文章目录: ***`下面我只介绍常用的命令,其他的用的几乎很少,常用自然就是总会用的到的,而且用处比较大的,可以提高工作效率的,下面我亲自测试这些命令都是亲测可行的 ...

  9. Linux下命令行压缩照片或图片的脚本 (ImageMagick使用心得,convert,import,display实例)

    from: Linux下命令行压缩照片或图片的脚本 (ImageMagick使用心得,convert,import,display实例) 在认识ImageMagick之前,我使用的图像浏览软件是Kui ...

最新文章

  1. 基于变分自动编码器(Variational Autoencoders)进行推荐系统的实施、Keras实现并可视化训练和验证误差、最后给出topK准确率和召回率
  2. nodejs安装部署与运行
  3. Github在windows7环境下使用入门
  4. python教程书籍推荐-买Python入门书籍,我推荐这一本
  5. python只能对列表进行切片_Python3:类型错误:列表索引必须是整数或切片,而不是s...
  6. 2021抖音电商达人生态报告
  7. jvm 堆外内存_jvm┃java内存区域,跳槽大厂必会知识点
  8. Hadoop/HBase 配置snappy压缩
  9. linux中ps-p,linux下ps命令
  10. C#租房管理系统(课程设计)
  11. HDU 2549 壮志难酬
  12. python下载电影链接_Python:输入电影名,爬获取到阳光电影网中对应名称的迅雷下载链接,获取的链接有点问题(具体问题在内容里)...
  13. android ps1 变量配置,安卓ps模拟器ePSXe使用图文教程
  14. python随机生成一个整数n、求s=1+2+3_随机数字生成与数据杜撰—Python、Stata、R和Excel同步实现(附代码)...
  15. 网站排名不好的解决方法
  16. 关于NetCore+饿了么开放平台+奇门+聚石塔对接的解释说明
  17. matlab定步长ode,[转载]matlab ode45 函数传自定义参数用法及定步长ode
  18. 模仿京东tab切换--自创
  19. 信用社计算机考试真题,农村信用社计算机考试试题.doc
  20. 什么是WMS系统,WMS如何选型

热门文章

  1. 【力扣周赛】第342场周赛
  2. Leads、SDR、MQL、SQL、L2C术语概念,线索创建与清洗、线索分级模型、线索流转策略、线索的统计与分析
  3. 让企业用上金融合规专有云,腾讯云专有云TCE矩阵来支招儿!
  4. 饭否android客户端,fanfou(饭否) android客户端 代码学习二
  5. NVIDA英伟达公司--(夜的第一章)
  6. css3特效(上下左右晃动效果)
  7. 修改注册表出现“无法编辑UncheckedValue:写该值的新内容时出错”的解决方法
  8. 第二十六篇:USB3.0高带宽ISO(48KBytes/125us)实战
  9. java mysql插入数据乱码_java向mysql数据库插入数据显示乱码的问题
  10. windows服务器svn迁移到linux服务器svn3