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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么“值^ =真;”工作?相关的知识,希望对你有一定的参考价值。

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

答案

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

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

另一答案

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

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

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

例子a = 0011 1100 b = 0000 1101

a ^ b = 0011 0001

另一答案

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

enter image description here

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

以上是关于为什么“值^ =真;”工作?的主要内容,如果未能解决你的问题,请参考以下文章

将数据从活动发送到片段android工作室[重复]

从底部工作表对话框片段中获取价值

这两个代码片段有啥区别?

Xcode 8 Autocomplete Broken - 仅显示有限的用户代码片段 - 知道为啥吗?

json 可视代码工作室Angular with Firebase片段

哈斯克尔。我很困惑这个代码片段是如何工作的