<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[[实践OK]expr计算器，简单好用的计算器： linux下的bc，Linux命令之bc - 浮点计算器、进制转换。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Wed, 18 Dec 2013 13:55:18 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	expr 2 &#92;* &#92;( 3 + 4 &#92;)<br/>14<br/>在Linux中，您可以使用`expr`命令执行数学表达式的计算，但是要注意Shell中的一些特殊字符可能需要转义。对于您提供的表达式`(3+2)*2`，可以按照以下方式计算：<br/><br/>```bash<br/>expr &#92;( 3 + 2 &#92;) &#92;* 2<br/>```<br/><br/>在这个命令中，我们使用反斜杠字符`&#92;`来转义括号和乘号，以确保它们被正确地解释为数学运算符而不是Shell的特殊字符。这将计算 `(3 + 2) * 2`，并输出结果 `10`。<br/><br/>另外，还可以使用更现代的数学计算工具，如`bc`，来执行更复杂的数学运算，这通常更易于使用和阅读。例如，使用`bc`可以这样计算：<br/><br/>```bash<br/>echo &quot;(3+2)*2&quot; &#124; bc<br/>```<br/><br/>这将输出结果 `10`。<br/><br/><br/><br/>简单好用的计算器： bc<br/>如果我想要使用简单的计算器呢？很容易呀！就使用 bc 即可！在输入 bc 之后， 显示出版本信息之后，就进入到等待指示的阶段。如下：<br/>[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&#039;. _&lt;==这个时候，光标会停留在这里等待您的输入<br/>事实上，我们是『进入到 bc 这个指令的工作环境当中』了！ 就好象我们在 Windows 里面使用calc一样！所以，我们底下尝试输入的资料， 都是在 bc 程序当中在进行运算的动作。所以，您输入的资料当然就得要符合 bc 的要求才行！ 在基本的 bc 计算器操作之前，先告知几个使用的运算子好了：<br/>+ 加法<br/>- 减法<br/>* 乘法<br/>/ 除法<br/>^ 指数<br/>% 余数 好！让我们来使用 bc 计算一些咚咚吧！<br/>[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&#039;. 1+2+3+4&nbsp;&nbsp;&lt;==只有加法时 10 7-8+3+2 4 100*52 5200 10%3&nbsp;&nbsp;&nbsp;&nbsp; &lt;==计算『余数』 1 10^2 100 10/100&nbsp;&nbsp; &lt;==这个最奇怪！不是应该是 0.1 吗？ 0 quit&nbsp;&nbsp;&nbsp;&nbsp; &lt;==离开 bc 这个计算器<br/>在上表当中，粗体字表示输入的资料，而在每个粗体字的底下就是输出的结果。 咦！每个计算都还算正确，怎么 10/100 会变成 0 呢？这是 因为 bc 预设仅输出整数，如果要输出小数点下位数，那么就必须要执行 scale=number ，那个 number 就是小数点位数，例如：<br/>[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&#039;. scale=3&nbsp;&nbsp;&nbsp;&nbsp; &lt;==没错！就这！ 1/3 .333 340/2349 .144 quit<br/>#Linux<br/><br/><br/>来自：http://hi.baidu.com/huazhixu_127/item/f962c3d7f728cd2a38f6f7d5<br/>Linux下的bc计算器移植到windows下：http://download.csdn.net/download/u012795832/6532695<br/><br/><br/>示例四 将多个表达式写在一个文件中一起计算<br/>[root@rhel55 ~]# cat test.bc <br/>123*321<br/>123/321<br/>scale=4;123/321<br/><br/>[root@rhel55 ~]# bc test.bc <br/>bc 1.06<br/>Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.<br/>This is free software with ABSOLUTELY NO WARRANTY.<br/>For details type `warranty&#039;. <br/>39483<br/>0<br/>.3831<br/>Ctrl+D <br/>[root@rhel55 ~]# <br/>[root@rhel55 ~]# cat test.bc &#124; bc <br/>39483<br/>0<br/>.3831<br/>[root@rhel55 ~]#<br/>示例五 一个计算三角形面积的Bash脚本<br/>先复习一下初中的知识：b表示三角形的底，h表示三角形的高，那么三角形的面积计算公式是b*h/2 。<br/><br/>文件 ：area_of_triangle.sh<br/> <br/>#!/bin/bash&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/># Shell program/script to read the base and height of a traingle and find its area&nbsp;&nbsp;<br/># -------------------------------------------------------------------------&nbsp;&nbsp;<br/># Copyright (c) 2005 nixCraft project &lt;http://cyberciti.biz/fb/&gt;&nbsp;&nbsp;<br/># This script is licensed under GNU GPL version 2.0 or above&nbsp;&nbsp;<br/># -------------------------------------------------------------------------&nbsp;&nbsp;<br/># This script is part of nixCraft shell script collection (NSSC)&nbsp;&nbsp;<br/># Visit http://bash.cyberciti.biz/ for more information.&nbsp;&nbsp;<br/># -------------------------------------------------------------------------&nbsp;&nbsp;<br/># Formula info: http://www.mste.uiuc.edu/dildine/heron/triarea.html&nbsp;&nbsp;<br/># Area=(1/2) x Base x Height&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>echo -n &quot;Enter base of a triangle : &quot;&nbsp;&nbsp;<br/>read b&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>echo -n &quot;Enter height of a triangle : &quot;&nbsp;&nbsp;<br/>read h&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/># calculate it and display back&nbsp;&nbsp;<br/>area=$(echo &quot;scale=2;(1/2) * $b * $h&quot;&#124;bc)&nbsp;&nbsp;<br/>echo &quot;Area of a triangle is $area&quot;&nbsp;&nbsp;<br/> <br/>[root@smsgw academic]# ./area_of_triangle.sh <br/>Enter base of a triangle : 123 <br/>Enter height of a triangle : 321 <br/>Area of a triangle is 19741.50<br/>[root@smsgw academic]#<br/> 示例六 使用bc命令的脚本片段<br/><br/> <br/># usage: calc_sum &lt;num1&gt; &lt;num2&gt;&nbsp;&nbsp;<br/># 计算两个数的和&nbsp;&nbsp;<br/>calc_sum()&nbsp;&nbsp;<br/>&#123;&nbsp;&nbsp;<br/>bc -q &lt;&lt;EOF&nbsp;&nbsp;<br/>$1+$2&nbsp;&nbsp;<br/>EOF&nbsp;&nbsp;<br/>&#125;&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/># usage: calc_free &lt;count&gt;&nbsp;&nbsp;<br/># 计算费用，单价0.05元&nbsp;&nbsp;<br/>calc_fee()&nbsp;&nbsp;<br/>&#123;&nbsp;&nbsp;<br/>bc -q &lt;&lt;EOF&nbsp;&nbsp;<br/>0.05*$1&nbsp;&nbsp;<br/>EOF&nbsp;&nbsp;<br/>&#125;&nbsp;&nbsp;<br/> <br/> <br/>将以上代码粘贴到终端。<br/>[root@web ~]# # usage: calc_sum &lt;num1&gt; &lt;num2&gt; <br/>[root@web ~]# # 计算两个数的和 <br/>[root@web ~]# calc_sum() <br/>&gt; &#123; <br/>&gt; bc -q &lt;&lt;EOF <br/>&gt; $1+$2 <br/>&gt; EOF <br/>&gt; &#125; <br/>[root@web ~]# <br/>[root@web ~]# # usage: calc_free &lt;count&gt; <br/>[root@web ~]# # 计算费用，单价0.05元 <br/>[root@web ~]# calc_fee() <br/>&gt; &#123; <br/>&gt; bc -q &lt;&lt;EOF <br/>&gt; 0.05*$1 <br/>&gt; EOF <br/>&gt; &#125; <br/>[root@web ~]# <br/>[root@web ~]# <br/>[root@web ~]# calc_sum 123 321 <br/>444<br/>[root@web ~]# calc_fee 1000 <br/>50.00<br/>[root@web ~]#<br/>示例七 使用数学库<br/><br/>有文章称可以计算100位的圆周率pi值。<br/>[root@web ~]# echo &quot;scale=100; a(1)*4&quot; &#124; bc <br/>Runtime error (func=(main), adr=11): Function a not defined.<br/>[root@web ~]# echo &quot;scale=100; a(1)*4&quot; &#124; bc -l <br/>3.141592653589793238462643383279502884197169399375105820974944592307&#92;<br/>8164062862089986280348253421170676<br/>[root@web ~]#<br/>来自：http://www.linuxidc.com/Linux/2012-01/52386p2.htm
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]expr计算器，简单好用的计算器： linux下的bc，Linux命令之bc - 浮点计算器、进制转换。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>