Welcome 微信登录

首页 / 操作系统 / Linux / Linux命令之bc - 浮点计算器、进制转换

用途说明

Bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下。手册页上说bc是An arbitrary precision calculator language,即一个任意精度的计算语言,注意是一种语言,它提供了一些语法结构,比如条件判断、循环等,可以说是很强大的,但是我在实际中还没有找到需要这个用途的场合 。另外一个用途就是用来进行进制转换。

常用参数

一般情况下,我们使用不带任何参数的bc命令。bc如果需要bc不输出提示信息,可以加上-q参数:bc -q如果要使用强大的数学库,比如计算三角函数,需要加上-l参数:bc -l因为bc本身是一个命令解释器,要退出它只要直接输入quit回车或者按Ctrl+D终止。

使用示例

示例一 命令行方式使用bc

[root@localhost CentOS39]# bc 
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty". 
3+4 
7
3-4 
-1
3*4 
12
3/4 
0
scale=2;3/4      # 保留小数点精度只对除法、取余、乘幂有效
.75 
3/4 
.75
3%4 
0
scale=0 
3%4 
3
3^4 
81Ctrl+D 
[root@localhost centos39]#

示例二 通过管道使用bc来计算

[root@localhost centos39]# echo 3 * 4 | bc 
(standard_in) 1: parse error
[root@localhost centos39]# echo "3 * 4" | bc 
12
[root@localhost centos39]# echo "scale=7; 355/113" | bc 
3.1415929
[root@localhost centos39]#

示例三 进制转换

[root@rhel55 ~]# echo "ibase=16; FFFF" | bc
65535[root@rhel55 ~]# echo "obase=16; 1000" | bc
3E8
[root@rhel55 ~]#

我们用到 bc的ibase和obase方法。 

ibase是输入数字的进制,而obase就是输出数字的进制了。很好记,i是input,o是output。 

如果用一条命令来转数字,可以用echo命令和管道结合bc。如下: 

10进制转2进制: 

$ echo "obase=2;ibase=10;100" | bc1100100 

10进制转16进制: 

$ echo "obase=16;ibase=10;100" | bc64 

16进制转10进制: 

$ echo "ibase=16;obase=2;F1" | bc11110001 

注意,16进制数字的F要大写,如果小写结果是不对的。像最上面没有指定的时候,默认是10进制。
  • 1
  • 2
  • 下一页
Linux 2.6软RAID速度测试计算Linux系统资源的简单脚本相关资讯      Linux命令 
  • 48 字节命令可令 Linux 系统当机!  (今 07:55)
  • 在Linux笔记本上执行这句命令能致  (02月02日)
  • .NET开发必会的Linux命令  (12/20/2015 10:32:03)
  • 运维工程师必会的109个Linux命令  (03月09日)
  • 有趣的Linux命令行:随机输出唐诗  (12/28/2015 20:14:23)
  • 10 个 Linux 中的 passwd 命令示例  (10/29/2015 10:14:30)
本文评论 查看全部评论 (0)
表情: 姓名: 字数

版权所有©石家庄振强科技有限公司2024 冀ICP备08103738号-5 网站地图