Windows Powershell 进行数学运算
powershell支持如下算术运算符:
运算符
|
描述
|
例子
|
结果
|
+
|
把两个数值相加
|
6+2
|
8
|
-
|
把两个数值相减
|
6-2
|
4
|
-
|
将数值转换为对应的负值
|
-2+6
|
4
|
*
|
把两个数值相乘
|
6*2
|
12
|
/
|
把两个数值相除
|
6/2
|
3
|
%
|
返回除法运算的余数
|
6%4
|
2
|
运算符优先级
有一些因素决定了包含算术运算符的表达式如何被处理. 这些因素包括了: 运算符种类, 运算符的顺序, 是否有表达被括号括起来. 例如, 10+4/2返回结果12, 然而(10+4)/2返回结果却是7. 第一个例子中, 首先处理4/2, 然后将它与10相加. 第二个例子中, 首先处理10+4, 然后将它处以2.
powershell根据如下优先规则对算术运算符进行计算:
1. (处理负数r)
2. *, /, %
3. +, - (处理减法)
根据上述优先级关系, powershell从左向右处理表达式. 例如, 3+6/3*4返回结果11. 首先6除以3, 结果等于2. 使用2乘以 4, 结果为8. 将该结果和3相加, 得出最终结果11.
将你指定表达式用括号括起来, 可以改变运算符优先级. 被括号括起来的部分将会被首先求值, 然后对其他部分进行求值. 例如, (3+3)/(1+1)返回结果为3. 首先, 计算3+3, 然后计1+1. 第一部分结果为6, 然后除以第二部分的结果2, 最终结果为3.
算术运算符和变量
算术运算符经常和变量一起使用. 例如, 假设$inta变量赋值为6, 变量$intb赋值为4. 你可以使用+ 运算符对两个变量进行加法操作, 如下面命令所示:
$inttotal = $inta + $intb
此例子中, 6和4进行相加. 结果为10, 将该结果赋值给变量$inttotal. 等号 (=)被用来向变量$inttotal赋值.
我们可以把powershell当成一个计算器。象键入命令行那样输入数学表达式,回车,powershell会自动计算并把结果输出。常用的加减乘除模(+,-,*,/,%)运算和小括号表达式都支持。
ps c:\pstest> 1+2+3 6 ps c:\pstest> 0xabcd 43981 ps c:\pstest> 3.14*10*10 314 ps c:\pstest> 1+3-(2.4-5)*(7.899-4.444) 12.983
powershell也能自动识别计算机容量单位,包括kb,mb,gb,tb,pb
ps c:\pstest> 1pb/1tb 1024 ps c:\pstest> 1tb/1gb 1024 ps c:\pstest> 1gb/1kb 1048576 ps c:\pstest> 1gb/20mb*10kb 524288
假如一个网站每个页面大小为80kb,统计显示每天的pv操作为800,1个月下来占用的带宽:
ps c:\pstest> 80kb*800*30/1gb 1.8310546875
假如一个网站的每天人均pv操作为5,页面大小为80kb,主机提供商限制的总流量为10g,那平均每天的最大访客数
为:
ps c:pstest> 10gb/(80kb*5)/30 873.813333333333