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/bash bc << END
scale=2
$@
END
$ ./test.sh  1+2
3

參考:

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

版权声明:本文博客原创文章,博客,未经同意,不得转载。

linux BC命令行计算器的更多相关文章

  1. bc:linux下命令行计算器

    在linux下,存在一个命令行的计算器:bc.该程序一般随发行版发布. bc计算器能够执行一些基本的计算,包括+,-,×,\,%. 这些计算不经针对十进制,还可以使用二进制,八进制,十六进制,并且可以 ...

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

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

  3. 分享一个命令行计算器-bc

    分享一个命令行计算器-bc 假如你在一个图形桌面环境中需要一个计算器时,你可能只需要一路进行点击便可以找到一个计算器.例如,Fedora 工作站中就已经包含了一个名为 Calculator 的工具.它 ...

  4. Linux下命令行安装weblogic10.3.6

    Linux下命令行安装weblogic10.3.6 一.安装前准备工作: 1.创建用户useradd weblogic;创建用户成功linux系统会自动创建一个和用户名相同的分组,并将该用户分到改组中 ...

  5. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  6. 28个Unix/Linux的命令行神器_转

    28个Unix/Linux的命令行神器 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具,有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具 ...

  7. PS1应用之——修改linux终端命令行各字体颜色

    最近在学习linux操作系统(CentOS 6 & CentOS 7).觉得linux终端命令行全部为白色,会经常导致命令与输出内容难以分辨.于是上网找到修改linux终端命令行颜色的方法,发 ...

  8. 转: windows 10使用原生linux bash命令行

    转: https://www.zybuluo.com/pandait/note/337430 windows 10使用原生linux bash命令行 linux bash windows-10 第一时 ...

  9. Linux 常用命令行

    Linux常用命令行 第一部分: cd命令 第二部分:文件操作 第三部分:压缩包操作

随机推荐

  1. HDU 2717 Catch That Cow

    简单的广搜: #include <cstdio> #include <queue> using namespace std; ],step[]; int n,start,end ...

  2. 提高IOS开发效率的常用网站、开源类库及工具

    时间过得很快,学习iOS也已经2年左右了.在这里整理一下,在平台平常开发过程中使用比较多的开源类库.网站与工具吧! 一.网站: UI网站: 1.https://www.cocoacontrols.co ...

  3. windows上的tomcat配置

    下载及安装 首先要安装JDK:jdk-7windows-x64.zip 再安装tomcat:apache-tomcat-7.0.23-windows-x64.zip   配置环境变量: CATALIN ...

  4. IOS开发:UIAlertView使用

    链接地址:http://www.2cto.com/kf/201307/231841.html UIAlertView是什么就不介绍了 1.基本用法 1 UIAlertView *view = [[UI ...

  5. HTML5 按字母顺序排列的标签列表 new : HTML5 中的新标签。

    标签 描述 <!--...--> 定义注释. <!DOCTYPE>  定义文档类型. <a> 定义超链接. <abbr> 定义缩写. <acron ...

  6. 【转载】国内网站博客数据统计选免费Google Analytics还是百度统计

    [转载]国内网站博客数据统计选免费Google Analytics还是百度统计 Google Analytics谷歌统计是我用的第一个网站统计工具,当然现在也一直在用.Google Analytics ...

  7. 门面(Facade)模式--医院,保安系统实例

    门面(Facade)模式 http://www.cnblogs.com/zhenyulu/articles/55992.html

  8. leetcode 211. Add and Search Word - Data structure design Trie树

    题目链接 写一个数据结构, 支持两种操作. 加入一个字符串, 查找一个字符串是否存在.查找的时候, '.'可以代表任意一个字符. 显然是Trie树, 添加就是正常的添加, 查找的时候只要dfs查找就可 ...

  9. U-Boot在FL2440上移植(三)----支持NAND Flash

    <一>支持NAND Flash 1. 首先在配置文件 include/config/fl2440.h 的宏 CONFIG_COMMANDS 中增加 CFG_CMD_NAND, #defin ...

  10. 将HDC保存为BMP文件

    HDC在MSDN中的全称为:The handle of device context.通常,我们都是用来做相应的显示操作.        熟悉WIN32的朋友对于其应该不会陌生,经常采用GetDC,G ...