是什么^目标C IOS是什么意思? [重复](What does ^ mean in objec

2019-07-20 09:46发布

这个问题已经在这里有一个答案:

  • 什么是^运营商做一个BOOL? 7个回答

对不起,问这样一个简单的问题,但这些东西是很难给谷歌。

我在iOS的代码连接到切换这是摄氏和华氏之间切换,我不知道是什么^ 1手段。 self.celsius是布尔

谢谢

self.celsius = self.celsius ^ 1;

Answer 1:

这是一个C语言的操作符的意思是“按位异或”。

维基百科给出了很好的解释:

XOR

甲按位异或取相同长度的两个位模式,并进行逻辑异或运算的每对相应比特。 在每个位置上的结果是1,如果仅第一比特是1或仅第二位是1,但将是0,如果两者都是0或都是1。在此,我们执行两个比特的比较,如果这两个是1位是不同的,和0,如果它们是相同的。 例如:

    0101 (decimal 5)
XOR 0011 (decimal 3)
  = 0110 (decimal 6)

按位XOR,可以使用在寄存器中(也称为肘节或翻转)以反转所选择的位。 任何位都可以通过用1。例如,异或它给定的位模式0010(十进制2)在第二和第四位可通过按位异或与含有在所述第二和第四位置1的位模式进行切换来切换:

    0010 (decimal 2)
XOR 1010 (decimal 10)
  = 1000 (decimal 8)


Answer 2:

这是按位异或运算符(见http://www.techotopia.com/index.php/Objective-C_Operators_and_Expressions#Bitwise_XOR )。

它在做什么在这种情况下是来回切换,因为0 ^ 1为1,和1 ^ 1为0。



Answer 3:

这是一个异或操作。



文章来源: What does ^ mean in objective c ios? [duplicate]