Golang之前的Golang Carret是什么意思

时间:2016-10-28 14:31:36

标签: go xor

我知道carret符号^表示按位异或 但是我正在看一些go代码,我看到像

这样的东西
input[0] = ^output[3]
or
input[3] = input[3] &^ (input[3] &^ input[3])

当我尝试例如:

^1 gives -2
^2 gives -3
etc..

2 个答案:

答案 0 :(得分:3)

来自语言规范的"Arithmetic Operators"部分:

  

对于整数操作数,一元运算符+, - 和^定义为   如下:

+x                          is 0 + x
-x    negation              is 0 - x
^x    bitwise complement    is m ^ x  with m = "all bits set to 1" for unsigned x
                                      and  m = -1 for signed x

答案 1 :(得分:1)

作为一元运算符,它意味着按位而不是'

相关问题