为什么“值^ =真;”工作?

问题描述 投票:0回答:3

我发现value ^= true;适用于通过false和true更改布尔值,我想了解它为什么有效以及^做了什么,谢谢

java boolean
3个回答
2
投票

^是一个按位异或。 ^=是一个按位XOR compound assignment operator,就像增加一个整数时一样:x += 3

所以你的表达相当于value = value XOR true


2
投票

它是按位异或和赋值运算符。

value ^ = true等价于value = value ^ true

二进制异或运算符如果在一个操作数中设置但不在两个操作数中设置,则复制该位。

例子a = 0011 1100 b = 0000 1101

a ^ b = 0011 0001


0
投票

^是许多C语言中的bitwise XOR运算符。 XOR运算符的工作原理如下:

enter image description here

true1false0,所以无论何时你XOR两个不同的位,它评估为true否则false。您可以使用计算器应用轻松尝试位操作,只需切换到编程模式即可。

© www.soinside.com 2019 - 2024. All rights reserved.