为什么“值^ =真;”工作?
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
运算符的工作原理如下:
true
是1
而false
是0
,所以无论何时你XOR
两个不同的位,它评估为true
否则false
。您可以使用计算器应用轻松尝试位操作,只需切换到编程模式即可。
以上是关于为什么“值^ =真;”工作?的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 8 Autocomplete Broken - 仅显示有限的用户代码片段 - 知道为啥吗?