bc命令学习1 基本运算

1 简介

bc为linux下一个计算器程序,主要特点是可以进行任意精度的计算,我开始学习的时候也是觉得很神奇,毕竟能进行任意精度计算的程序不多见。

2 使用

bc命令在各linux下基本都可以正常使用,下面主要在wsl中进行使用,打开wsl界面后输入bc即可正常使用。

3 基本运算

3.1 简单的四则运算

基本的(±*/^),还支持基本().

1+2
3*4
5+3*2+1
2*(4+3)
2^10

最能体现bc命令强大的地方在于bc命令计算可支持很大的数,而不像其他语言那样转为浮点数会有精度损失.如

2^100
2^1000
2^10000
2^1000+123^100

上面例子均能得到精确结果.

3.2 带有小数的运算

上面的例子主要是整数部分,下面主要讲解小数部分,同样小数也支持任意精度,即你可以输入任意精度的小数,如

1.2
1.23
1.234567891011444444
1+1.234567891011444444
1.234567891011444444-0.5689

在进行±运算时没有精度损失,但是在进行*./运算时会有精度损失,具体如下

1.1*1.1
//=1.2
1.1*1.11
//=1.22
//即乘法结果是按最大小数位进行舍入的,即后面位数的内容全部去掉
10/3
//=3
10/3.1
//3
//除法不一样,除法只保留整数部分的结果

3.3 使用scale变量控制小数精度

scale是bc中一个变量,控制小数位数的精度,你可以直接输入scale,默认值为0,可以设置该变量的值从而控制运算的精度.如

scale=10
//设置精度为10
//下面对上面例子重新运算
1.1*1.1
//=1.21
1.1*1.11
//=1.221
//可以看出,结果未进行舍入,结果为精确值
//但是若运算结果超过scale定义的位数,结果任会舍入,如
1.23456789*1.23456789
10/3
//=3.3333333333
10/3.1
//3.2154340836
//除法则按scale进行舍入

3.4 其他

除了基本的四则运算,bc命令行还支持sqrt平方根计算,同样受scale精度控制

sqrt(2)
//=1.4142135623

乘方运算中底可支持小数,但是幂中只支持整数

1.2^2
2^0.5
//无法计算,会报错
//Runtime warning (func=(main), adr=9): non-zero scale in exponent

%用于计算余数,但是要在scale=0的情况下才能使用,如

scale=0
10%3
//=1

\符号用于分段输入数字,如

1.2\
122
\\等价于
1.2122

4 退出

使用quit命令进行退出

quit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值