raymai97 当前离线
中尉
...由于位运算符(<< >> & | ^)都是特殊符号,按照上面直接使用会出错。 例如 “SET /A var=1 & 1”与运算,并不会显示为1,因为cmd.exe 会把&解释成命令分隔符。 对于这样的"位运算符",我们需要把他们用双引号引起来,也可以用转义字符^,看例子。 SET /A var= 1 "&" 1 与运算 (同为1 时为真,一方出现假即为假) SET /A var= 1 ^| 1 或运算 (同为假时才为假,只要一方出现真即为真) SET /A var= 1 "^" 1 异或运算 (相同为假,相异为真) SET /A var= 3 "<<" 2 左移位运算, 3 的二进制为11,左移2 位为1100,换成十进制就是12 SET /A var= 4 "^>^>" 2 右移位运算,4 的二进制为100,右移动2 位为1,结果为1 很明显,如果是移位操作符^,需要使用两次^,此时使用双引号显得更方便。...
Set /a var=1"&"1,var为1 set /a var=1"&"2,var为0 set /a var=1"&"3,var为1
set /a var=1^|3,var为3 set /a var=1^|4,var为5(1+4?) set /a var=2^|4,var为6(2+4?) set /a var=1^|5,var为5
TOP