作者: daodaoliang
版本: V 0.0.1
日期: 2018年03月27日

[TOC]

0x00 简介

bc,即bench calculator的缩写,是一种任意精度计算器语言(an arbitrary precision calculator language),语法和C语言类似。bc是Unix 作业系统下的一个高精确度数学运算工具,小数点后最多可有2147483647位值。bc使用POSIX 1003.2草案标准,并作了若干扩展,包括多字符的变量名,以及完整的布尔表达式。bc可以通过在unix终端中输入bc进入。bc是文本界面,无GUI。

0x01 选项值

这里是图

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

0x02 使用方式

0x021 交互式使用方式
1
2
3
4
5
6
7
[root@localhost ~]# 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'.
12.345*12.345
152.399
0x022 通过管道符号
1
2
[root@localhost ~]# echo "12.345*12.456" | bc
153.769
0x023 进制转换

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

1
2
bash-4.2$ echo "ibase=10;obase=2;98757" | bc
11000000111000101
1
2
bash-4.2$ echo "ibase=10;obase=3;98757" | bc
12000110200