bc 命令:
     bc 命令是用于命令行计算器。 它类似基本的计算器。 使用这个计算器可以做基本的数学运算。

语法:
  语法是 
     bc [命令开关]

命令开关:
     

-c 仅通过编译。 bc命令的输出被发送到标准输出。
-l 定义数学函数并且初始化值为20,取代默认值0。
filename 文件名,它包含用于计算的计算器命令,这不是必须的命令。

示例:

  1. 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'. 9*2 18

    上述命令是来做数学运算。

  2. bc -l

    输出:

    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'. 1+2 3

    上述命令是求'1+2'的和。

  3. bc calc.txt

    输出:

    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'. 3

    'calc.txt' 这个文件有代码:1+2。 从文件输入并且显示输出结果。

    簡單好用的計算機: bc

    如果我想要使用簡單的計算器呢?很容易呀!就使用 bc 即可!在輸入 bc 之後, 顯示出版本資訊之後,就進入到等待指示的階段。如下所示:
    [root@linux ~]# 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'.
    _<==這個時候,游標會停留在這裡等待您的輸入
    事實上,我們是『進入到 bc 這個指令的工作環境當中』了! 就好像我們在 Windows 裡面使用『小算盤』一樣!所以,我們底下嘗試輸入的資料, 都是在 bc 程式當中在進行運算的動作。所以囉,您輸入的資料當然就得要符合 bc 的要求才行! 在基本的 bc 計算機操作之前,先告知幾個使用的運算子好了:
    • + 加法
    • - 減法
    • * 乘法
    • / 除法
    • ^ 指數
    • % 餘數
    • 好!讓我們來使用 bc 計算一些咚咚吧!
      [root@linux ~]# 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'.
      1+2+3+4  <==只有加法時
      10
      7-8+3
      2
      10*52
      520
      10%3     <==計算『餘數』
      1
      10^2
      100
      10/100   <==這個最奇怪!不是應該是 0.1 嗎?
      0
      quit     <==離開 bc 這個計算器

      在上表當中,粗體字表示輸入的資料,而在每個粗體字的底下就是輸出的結果。 咦!每個計算都還算正確,怎麼 10/100 會變成 0 呢?這是 因為 bc 預設僅輸出整數,如果要輸出小數點下位數,那麼就必須要執行 scale=number ,那個 number 就是小數點位數,例如:

      [root@linux ~]# 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'.
      scale=3     <==沒錯!就是這裡!!
      1/3
      .333
      340/2349
      .144
      quit

      好了!就是這樣子啦!簡單的很吧!以後你可以輕輕鬆鬆的進行加減乘除啦!

     
    MATH LIBRARY 
           If bc is invoked with the -l option, a math library is preloaded and the default  scale  is  set  to  20. 
           The  math  functions  will  calculate their results to the scale set at the time of their call.  The math 
           library defines the following functions:

    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.  log函数(以2为底)

    e (x)  The exponential function of raising e to the value x.  e的指数函数

    j (n,x) 
                  The bessel function of integer order n of x.   贝塞尔函数 

     
     
    PS: echo "scale=100; a(1)*4" | bc -l  (计算圆周率)
 

linux_bc命令的更多相关文章

  1. Cmder--Windows下命令行利器

    cmder cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 安装包 安装包链接 下载后,直接解压即用. 修改命令提示符λ为 ...

  2. 【每日一linux命令4】常用参数:

     下面所列的是常见的参数(选项)义: --help,-h                              显示帮助信息 --version,-V                        ...

  3. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  4. MVVM模式解析和在WPF中的实现(三)命令绑定

    MVVM模式解析和在WPF中的实现(三) 命令绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

  5. SQLServer执行命令出现“目录无效的提示”

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html 一般都是清理垃圾清理过头了,把不该删的目录删了 网上说法: 问题描述: 1.s ...

  6. SQLServer文件收缩-图形化+命令

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 收缩前 图形化演示: 不仅仅可以收缩日记文件,数据库文件也是可以收缩的,只不过日记收缩比 ...

  7. 让 windows 下的命令行程序 cmd.exe 用起来更顺手

    在 Windows 下使用 Larave 框架做开发,从 Composer 到 artisan 总是避免不了和 cmd.exe 打交道,系统默认的命令行界面却是不怎么好看,且每行显示的字符数是做了限制 ...

  8. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  9. git 命令

    切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm  ...

随机推荐

  1. 手把手教你写一个java的orm(二)

    创建映射关系 ​ 想要实现一个orm的功能,我觉得就是要将class和数据库中的表创建映射关系.把class的名称和表的名称,class属性名称和表的字段名称,属性类型与表的字段类型一一对应起来.可以 ...

  2. 使用mac下Fiddler的替代工具Charles进行手机抓包

    对手机的抓包有两种方式,各有优劣且互补,一般第一种即可,对于不走代理的 App 选择第二种方式 第一种 Fiddler: 利用 Fiddler 抓包,适合大多数走代理的应用, 优点 (1) 无需 ro ...

  3. Maven 使用 Nexus 内部库 代理

    反正任由总理怎么强调,在中国的当前的网络环境下,中央库的访问速度总是令人心碎.建一个nexus内部库可以建立缓存,只要有人通过它下载了相关的maven依赖,那么别人需要时可以马上从本地网络的服务器上返 ...

  4. JS全局变量VAR和THIS--在函数内部,加var是局部变量,不加是全局变量

    JS全局变量VAR和THIS 2011-05-23 21:43 很多人都觉得在JavaScript声明一个变量,加var和不加var没有什么区别,实际上是一个错误的观点,如果在函数外面,也就是说在wi ...

  5. opencv之图像拼接

    参考博客http://blog.csdn.net/u011630458/article/details/44175965 博主:羽凌寒 之后再进行系统学习

  6. ArcEngine对Blob字段赋值的方法

    今天在测试数据入库程序,发现对某个图层操作之后,调用StopOperation,会出现“尝试写入或读取受保护的内存”错误. 经过测试,最终发现是因为该图层包含有Blob字段,而代码没有专门对Blob字 ...

  7. canvas验证码 - 随机字母数字

    基于canvas制作随机生成数字英文组合验证码效果,点击或刷新会自动重组.输入验证码提交验证效果代码. <div class="verification"> <i ...

  8. linux 网络命令last、lastlog、traceroute、netstat

    last /usr/bin/last语法:last功能:列出目前与过去登入系统的用户信息 reboot 是重启信息 lastlog lastlog -u 502(用户ID) traceroute /b ...

  9. javaEE-EJB学习笔记

    EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序.简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行.凭借java跨平台的优势,用EJB技术部署的分布式系 ...

  10. Pig order by用法举例

    sorted = order data by $0;   数值类型按照数值大小比较 chararray类型按照字符的字典顺序比较 bytearray按照字节的字典顺序比较 复杂类型(map.tuple ...