bc命令小记

2024-02-23 20:58
文章标签 命令 bc 小记

本文主要是介绍bc命令小记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、命令介绍

  bc命令是一种支持任意精度的交互执行的计算器语言。

二、基本使用

(1)使用方式

• 交互式

[root@cp ~]# 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'. 
1+1
2

• bc + filename

[root@cp ~]# cat 1.txt
1+1
2*3
[root@cp ~]# bc "1.txt"
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'. 
2
6

• echo + 管道 + bc

[root@cp ~]# echo "1+1" | bc
2

• bc + 重定向

[root@cp ~]# bc < "1.txt"
2
6
[root@cp ~]# bc <<< "1+1"
2

(2)基本运算
  • 加法
[root@cp ~]# bc <<< "5+4"
9
[root@cp ~]# bc <<< "-1+-1"
-2
[root@cp ~]# bc <<< "1.5+1.7"
3.2
  • 减法
[root@cp ~]# bc <<< "5-4"
1
  • 乘法
[root@cp ~]# bc <<< "5*4"
20

/ 除法

[root@cp ~]# bc <<< "2/4"               //为什么 “2/4” 等于0呢,因为bc的内置函数scale默认指定了显示小数点后0位数
0
[root@cp ~]# bc <<< "scale=2;2/4"       //我们自定义一下显示小数点后2位,结果小于1的浮点数,0会自动省略。
.50
[root@cp ~]# bc <<< "scale=2;5/4"
1.25

^ 指数

[root@cp ~]# bc <<< "2^4"
16

% 取余

[root@cp ~]# bc <<< "4%2"
0
[root@cp ~]# bc <<< "4%3"
1

(3)特殊变量和内置函数

• 特殊变量

变量名作用
scale定义小数点后的位数
ibase指定输入的进制数
obase指定输出的进制数
last 或者 .存储着最后一个打印数字的值

实例演示:

[root@cp ~]# bc <<< "scale=1;2/1"
2.0
[root@cp ~]# bc <<< "scale=2;2/1"
2.00
[root@cp ~]# bc <<< "scale=2;1/2"
.50
[root@cp ~]# bc <<< "ibse=10;obase=2;10"        //十进制转二进制
1010
[root@cp ~]# bc <<< "obase=2;10"                //默认输入进制为十进制转
1010
[root@cp ~]# bc <<< "obase=2;3"
11
[root@cp ~]# bc <<< "scale=1;2/1;last"
2.0
2.0
[root@cp ~]# bc <<< "scale=1;2/1;."
2.0
2.0
[root@cp ~]# cat 1.txt
1+1
2*3
last                    //使用.也是一样效果
[root@cp ~]# bc < 1.txt
2
6
6

• 内置函数

名称作用
length()获取有效数字位数
scale()获取小数点后数字位数
sqrt()平方根计算
read()从标准输入中读取数字

实例演示:

[root@cp ~]# bc <<< "length(100)"
3
[root@cp ~]# bc <<< "length(1.15)"
3
[root@cp ~]# bc <<< "scale(1.15)"
2
[root@cp ~]# bc <<< "sqrt(100)"
10
[root@cp ~]# bc <<< "sqrt(7)"
2
[root@cp ~]# bc <<< "scale=5;sqrt(7)"
2.64575


原文链接:https://www.cpweb.top/485

这篇关于bc命令小记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/739909

相关文章

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

ZOJ Monthly, August 2014小记

最近太忙太忙,只能抽时间写几道简单题。不过我倒是明白要想水平提高不看题解是最好的了。 A  我只能死找规律了,无法证明 int a[50002][2] ;vector< vector<int> > gmax , gmin ;int main(){int n , i , j , k , cmax , cmin ;while(cin>>n){/* g

Codeforces Round #261 (Div. 2)小记

A  XX注意最后输出满足条件,我也不知道为什么写的这么长。 #define X first#define Y secondvector<pair<int , int> > a ;int can(pair<int , int> c){return -1000 <= c.X && c.X <= 1000&& -1000 <= c.Y && c.Y <= 1000 ;}int m

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

利用命令模式构建高效的手游后端架构

在现代手游开发中,后端架构的设计对于支持高并发、快速迭代和复杂游戏逻辑至关重要。命令模式作为一种行为设计模式,可以有效地解耦请求的发起者与接收者,提升系统的可维护性和扩展性。本文将深入探讨如何利用命令模式构建一个强大且灵活的手游后端架构。 1. 命令模式的概念与优势 命令模式通过将请求封装为对象,使得请求的发起者和接收者之间的耦合度降低。这种模式的主要优势包括: 解耦请求发起者与处理者

linux 判断某个命令是否安装

linux 判断某个命令是否安装 if ! [ -x "$(command -v git)" ]; thenecho 'Error: git is not installed.' >&2exit 1fi

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚