博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux小工具bc使用
阅读量:5329 次
发布时间:2019-06-14

本文共 904 字,大约阅读时间需要 3 分钟。

现在才知道bc竟然是可以编程的,不得不佩服linux各种工具的博大精深(推荐一本书,software tools

man bc,bc可加的参数有 bc [ -hlwsqv ],其中我们常用的也就是-l了,它的意思是定义一些常用的数学库,比如log,sin之类的,所以一般打开bc的命令为bc -l

常用的数学运算的书写方式

s (x) The sine of x, x is in radians.

c (x) The cosine of x, x is in radians.

a (x) The arctangent of x, arctangent returns radians.

l (x) The natural logarithm of x.

e (x) The exponential function of raising e to the value x.

j (n,x)

The Bessel function of integer order n of x.

至于这个Bessel function,目前我还没有接触过,我想一些学数学的可能用的比较多吧。

 

man中还给出了一个在bash中,用bc赋值的例子

pi=$(echo "scale=10; 4*a(1)" | bc -l)

用反正切函数求pi,数学真的很神奇

 

bc的语法和C语言差不多,给个喜闻乐见的计算阶乘的例子吧

define f(x) {  if (x <= 1) return (1);  return (x*f(x-1));}

 

再给一个计算兔子生孩子(-_-)的例子,来说明数组的使用,毕竟很多时候我们还是懒得写函数的

h[1]=1h[2]=1for (i=3;i<=100;i++)  h[i]=h[i-1]+h[i-2]
for (i=1; i<=100; i++) {  print h[i],"       ";  if (i%10==0) print "\n;"}
 
另外数组下标是可以从0开始的

 

转载于:https://www.cnblogs.com/imageoneday/p/3510074.html

你可能感兴趣的文章
Prim POJ 2031 Building a Space Station
查看>>
SPOJ375 Query on a tree(LCT边权)
查看>>
C++学习 8.2 - 类及类成员
查看>>
将十进制IP转换成二进制IP
查看>>
mysql的replication(主从同步)总结
查看>>
Zookeeper 概念
查看>>
系统开机启动项优化
查看>>
docker 报错:x509: certificate has expired or is not yet valid
查看>>
追求--Mars&Coara
查看>>
svn sync主从同步学习
查看>>
Hdu-1358Period(KMP算法之next数组的应用)
查看>>
Thrift 个人实战--Thrift RPC服务框架日志的优化
查看>>
u盘启动盘安装centos7.5操作系统
查看>>
对于PHP面试知识点的小结
查看>>
A guess 解题报告
查看>>
a:link,a:visited,a:hover,a:active
查看>>
ubuntu12.04 安装配置jdk1.7
查看>>
android深度探索第二章
查看>>
asp.net学习笔记1
查看>>
linux下编译复数类型引发的错误:expected unqualified-id before '(' token
查看>>