橘子味的心
标题:Linux Shell bc 命令

Linux bc 命令是任意精度计算器语言,在 linux 下通常当计算器用


bc 命令类似基本的计算器, 可以做基本的数学运算

bc 命令常用的运算:

  • + 加法
  • - 减法
  • * 乘法
  • / 除法
  • ^ 指数
  • % 余数

bc 命令语法格式

bc [选项] [参数]

[选项值]

  • -i :强制进入交互式模式
  • -l :定义使用的标准数学库
  • -w :对POSIX bc的扩展给出警告信息
  • -q :不打印正常的GNU bc环境信息
  • -v :显示指令版本信息
  • -h :显示指令的帮助信息

[参数]

文件:指定包含计算任务的文件

范例 1 : 默认 bc 命令交互式模式进行一些运算

$ 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'.
7+17          # 用户输入 加法运算
24            # bc 运算结果
7-2           # 减法运算
5
2+5*3         # 乘法运算
17
2^10          # 指数运算
1024
quit          # 输入 quit 退出 bc 交互模式
$

进入 bc 命令交互式模式后可以输入 quit 退出


范例 2 : 通过管道符传参给 bc 命令

$ echo "2^10+5" | bc
1029
$


范例 3: 通过 scale 可以设置小数位

可以设置 scale=2 设小数位,2 代表保留两位

$ echo 'scale=2; (2.777682927 - 1.47292044)/1' | bc
1.30


范例 4: 通过 ibase 来可以进行进制的运算

ibase 是 input base 的缩写,表示输入数字的进制模式

$ echo "ibase=2;10111" | bc
23


范例 5: 通过 ibaseobase 可以进行进制转换

ibase 是 input base 的缩写,表示输入数字的进制模式 obase 是 output base 的缩写,表示输出数字的进制模式

用 bc 命令将十进制转换为二进制

abc=172 
echo "obase=2;$abc" | bc

sh demo.sh 输出结果

$ sh demo.sh
10101100

用 bc 命令将二进制转换为十进制

#!/bin/bash
# filename: demo.sh
# author:简单编程
# url:www.twle.cn

abc=110011100 
echo "obase=10;ibase=2;$abc" | bc

sh demo.sh 运行结果

$ sh demo.sh
412

范例 6: 使用 bc 命令计算平方和平方根

$ echo "7^10" | bc
282475249
$ echo "sqrt(99)" | bc
9

返回上一级

目录

分类