bc 命令是任意精度计算器语言,通常在linux下当计算器用。它类似基本的计算器, 使用这个计算器可以做基本的数学运算。
注意:输入 quit 退出该命令。
语法:
bc(选项)(参数)
选项值
- -i:强制进入交互式模式;
- -l:定义使用的标准数学库
- ; -w:对POSIX bc的扩展给出警告信息;
- -q:不打印正常的GNU bc环境信息;
- -v:显示指令版本信息;
- -h:显示指令的帮助信息。
参数
文件:指定包含计算任务的文件。
常用的运算:
- + 加法
- - 减法
- * 乘法
- / 除法
- ^ 指数
- % 余数
注意:混合计算时计算符合不同级时默认给你带括号计算(/或%需要格外注意),例如:2+5*10 = 2+(5*10) = 52
例如
1、常规计算
[hern@hern ~]$ echo "1+2+3" |bc
6
[hern@hern ~]$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1+2+3 #<==只有加法时
6 #<==输出结果
7-8+3 #<==加法与减法混合时
2
10*5+2 #<==乘法与加法混合
52
10%3 #<==余数计算
1
10^2 #<==平方计算
100
10/100 #<==除数取整
0
2+5*10 #<==加法与乘法混合时
52
2、设定输出小数点后几位(通过设置 scale 实现):
[hern@hern ~]$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
scale=3 #<==设置输出小数点后3位
1/3
.333 #<==输出小数点后3位
340/2349
.144
quit
[hern@hern ~]$ echo "scale=2;(2.77-1.4744)/1" |bc
1.29
3、ibase 和 obase 来进制的运算
[hern@hern ~]$ echo "ibase=2;111" |bc #<==输出二进制111的结果
7