步骤^=1在Java中是什么意思?
我知道步骤^=1在Java中是什么意思?,java,Java,我知道^是Java中的xor运算符。但我无法在下面的上下文中理解它 int step = 0; ... step ^=1; 资料来源: 文件链接:^代表XOR运算符 a^=b相当于a=a^b它属于赋值运算符类别,如 += -= *= /= %= &= ^= |= <<= >>= >>>= +=-=*=/=%=&=^=|==>>= 意味着 ^=按位异或和赋值运算符 步骤^=1与步骤=步骤^1相同步骤^=1表示步骤=步骤xor 1。类似于st
^
是Java中的xor运算符。但我无法在下面的上下文中理解它
int step = 0;
...
step ^=1;
资料来源:
文件链接:
^
代表XOR运算符
a^=b
相当于a=a^b
它属于赋值运算符类别,如
+= -= *= /= %= &= ^= |= <<= >>= >>>=
+=-=*=/=%=&=^=|==>>=
意味着
^=
按位异或和赋值运算符
步骤^=1代码>与步骤=步骤^1相同代码>步骤^=1
表示步骤=步骤xor 1
。类似于step+=1
,其计算结果为step=step+1
所以^=是一种简写的异或运算符
所以xor表说:
operand1 operand2 output
0 0 0
0 1 1
1 0 1
1 1 0
因此,如果我的步骤是1,那么1或1将是0。来自Java教程
^
假设整数变量A保持60,变量B保持13,则:
二进制XOR运算符复制位,如果位在一个操作数中设置,但不是在两个操作数中都设置。(A^B)将给出49,即0011 0001
你的情况是
step=步骤^1
结果得到step=1
正如其他人所指出的,步骤^=1
翻转步骤
的最低有效位。这使得偶数变大,奇数变小
示例:
0 --> 1
1 --> 0
7 --> 6
6 --> 7
-3 --> -4
步骤=步骤^1?它与所有其他+=等一样。它执行将其值分配给步骤的操作。不确定问题是什么;既然你知道什么是异或,为什么要问这个问题?如果这是您要问的问题,那么它将始终反转步骤的最低有效位?不知道^=赋值运算符类别中的运算符有什么错?这个问题很清楚@KickButtowski解决了我的困惑。谢谢。@Sashwat,thnx。你能给我写一个真实值的例子让它更清楚吗?@nanospeck你让它听起来像你知道它是XOR运算符,但你不知道XOR是做什么的。是这样吗?@nanospeck-检查此项以获得有关XOR运算符的更多详细信息。我想您可能已经知道,XOR在两个操作数之间执行按位XOR