linux BC命令行计算器
来源:互联网 发布:淘宝团购流程图 编辑:程序博客网 时间:2024/05/22 12:00
1. 基本用法:
$ bc <<< 5*420$ bc <<< 5+49$ bc <<< 5-41或者
$ echo "5*4" | bc20$ echo "5+4" | bc9$ echo "5-4" | bc1
也可以把算式写到文件里面,然后一次计算。
$ cat calcFile 5+56+7$ bc < calcFile 1013
也可以使用HERE 命令:
$ bc << HERE> 1+4> 4-1> 2*4> HERE538
可以使用内置的变量 last 引用上一次的结果:
$ echo "5-4;last+6" | bc17last 也可以用 点号代替:
$ echo "5-4;.+6" | bc17
2. 浮点数运算:
可以使用scale指定小数点之后的位数(默认为0,即整数)
$ echo "sqrt(10)" | bc3$ echo "scale=1;sqrt(10)" | bc3.1$ echo "scale=10;sqrt(10)" | bc3.1622776601
有时候得不到指定的位数:
$ echo "scale=10; 1.25*9" | bc11.25此时,可以修改为:
$ echo "scale=10; 1.25*9/1" | bc11.2500000000
3. 数制转换:
可以使用变量 ibase表示转换前数字的数制;obase表示转换后数字的数制
$ echo 'obase=16;128' | bc80
$ echo 'ibase=16;obase=A;80' | bc128
$ echo 'obase=2;128' | bc10000000
$ echo 'ibase=2;obase=A;10000000' | bc128
$ echo "obase=10;ibase=16;80" | bc128
4. 指数运算:
$ echo "5^5" | bc3125
$ echo "(5^5)^5" | bc298023223876953125记得第一个指数运算的结果要添加括号。
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 -l1.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 << ENDscale=2$@END
$ ./test.sh 1+23
参考:
http://mylinuxbook.com/linux-command-line-calculator-bc-examples/
0 0
- Linux命令行计算器bc
- linux BC命令行计算器
- Linux下命令行计算器-bc
- bc: 一个非常有用的UNIX/LINUX命令行计算器
- 在Linux中使用命令行计算器GNU bc的方法
- linux计算器bc
- linux 计算器 bc
- Linux计算器bc学习
- linux下的计算器bc
- linux下的计算器bc
- linux/unix 退出bc 计算器
- LINUX计算器BC用法一二
- Linux入门:简易计算器(bc)
- LINUX计算器BC用法一二
- Linux bc --简单的计算器
- 【bc】计算器
- LINUX任意精度计算器BC用法
- Linux - 简单好用的计算器 bc
- How Many Tables
- Sicily 13291. Play with Numbers
- Sicily 13292. The 4-Point Scale (四分制)
- Sicily 13289. Alice and Bob
- Sicily 13290. Play with Strings
- linux BC命令行计算器
- C++继承
- LeetCode OJ Excel Sheet Column Number
- How Many Answers Are Wrong
- Objective-C中的instancetype和id区别
- LeetCode OJ Majority Element
- udf提权的一次学习
- LeetCode OJ Excel Sheet Column Title
- 食物链(并查集, 向量偏移)