[英]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
因此,如果a
為10
(二進制為1010
)而b
為13(二進制為1101
)
1010 1010
1101 1101
---- ----
1000 = a & b 0111 = a ^ b
或者您的情況是3 dec = 11 bin
和2 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.