Bat批处理数值计算
批处理里面的数值计算功能较弱,只能够进行整型计算,忽略浮点数的小数部分;同时数值计算的范围也受限于系统位数,对于目前较为常见的32位机来说,数值计算能处理的数值范围为0x80000000h~0x7FFFFFFFh
,即-2147483648~+2147483647
。
数值计算需要使用set
命令,具体格式为set /a expression
。其中,expression
代表计算表达式,计算表达式跟C语言里面的表达式基本上完全一致。set支持的运算符也跟C语言里面的一样,只是没有了増一减一。set支持的运算符及优先级排序如下:
1 | ========================================= |
我们知道,批处理中取变量的值是需要用%
或者!
的,而在set /a
中,直接用变量名称即可取得变量的值。另外,set
支持八进制(数字前缀0)、十进制(数字无前缀)和十六进制(数字前缀0x),且支持不同进制之间的计算,如set /a a=123+0123+0x123
,计算及显示结果为十进制。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 竹山一叶!
评论