linux命令行计算器 bc命令用法
Posted 新生代程序员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux命令行计算器 bc命令用法相关的知识,希望对你有一定的参考价值。
bc
基本参数
- 查看版本
$ bc -v
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
- 查看帮助
$ bc -h
usage: bc [options] [file ...]
-h --help print this usage and exit
-i --interactive force interactive mode
-l --mathlib use the predefined math routines
-q --quiet don't print initial banner
-s --standard non-standard bc constructs are errors
-w --warn warn about non-standard bc constructs
-v --version print version information and exit
基本用法
- +:加
- -:减
- *:乘
- /:除
- ^:指数
- %:求余数
- sqrt:开方
- ibase:输入进制
- obase:输出进制
- ;要计算多个结果用分号分隔
- scale:小数部分位数
使用 echo 命令来传递运算式或命令
- 3除以2保留3位小数:echo ‘scale=3; 3/2’ | bc
[root@dev127 myb]# echo 'scale=3; 3/2'
scale=3; 3/2
[root@dev127 myb]# echo 'scale=3; 3/2' | bc
1.500
[root@dev127 myb]#
交换模式
- 输入bc进入交互模式
[root@dev127 myb]# 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'.
5/3
1
scale=5;5/3
1.66666
exit
0
^C
进制转换
- 10进制的3转换为2进制:echo “obase=2;3” |bc
[root@dev127 myb]# echo "obase=2;3" |bc
11
- 10进制的11转换为16进制:echo “obase=16;11” |bc
[root@dev127 myb]# echo "obase=16;11" |bc
B
- 2进制转16进制:echo “obase=16;ibase=2;11” |bc
[root@dev127 myb]# echo "obase=16;ibase=2;11" |bc
3
[root@dev127 myb]# echo "obase=16;ibase=2;111" |bc
F
- 2进制转10进制:echo “obase=10;ibase=2;11” |bc
[root@dev127 myb]# echo "obase=10;ibase=2;11" |bc
3
[root@dev127 myb]# echo "obase=10;ibase=2;1111" |bc
15
- 计算平方根:100是10的平方
[root@dev127 myb]# echo "sqrt(100)" |bc
10
- 计算m的n次方:10的3次方,10的2次方,3的5次方:
[root@dev127 myb]# echo "10^3;10^2;3^5" |bc
1000
100
243
注意事项
- obase 要尽量放在 ibase 前面,因为 ibase 设置后,后面的数字都是以 ibase 的进制来换算的。
以上是关于linux命令行计算器 bc命令用法的主要内容,如果未能解决你的问题,请参考以下文章