繁体   English   中英

Windows批处理脚本中的SET / A命令中使用的&符号

[英]ampersand used in SET /A command in Windows batch script

您能否建议SET命令中使用“&”或“ ^”的含义是什么(我使用Google找不到任何解释)。

例如,以下Windows批处理代码块

SET V_COMMAND=3
SET /A V_FLAG="%V_COMMAND%&2"
echo VFlag is: %V_FLAG%

生产:

VFlag is: 2

但是我对上面的命令没有任何意见。

另外还有一个带有“ ^ ”的情况:

SET V_COMMAND=3
SET /A V_FLAG="%V_COMMAND%^3"
echo VFlag is: %V_FLAG%

对于这种情况,输出为:

VFlag is: 0

由于您使用的是set /a ,因此指示的字符是按位运算符:

& = bitwise AND = 1 if both bits are 1
^ = bitwise XOR = 1 if only one of the two bits is 1

因此,如果a10 (二进制为1010 )而b为13(二进制为1101

         1010              1010
         1101              1101
         ----              ----
         1000 = a & b      0111 = a ^ b

或者您的情况是3 dec = 11 bin2 dec = 10 bin

           11                11
           10                11
           --                --
           10 = 3&2 = 2      00 = 3^3 = 0

这些是按位运算符- &是按位AND, ^是按位XOR。 这些按位运算符仅可用于SET /A

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM