在go lang,为什么这是7?断言(5 ^ 2 == 7)

Buf*_*lls 2 go

在go lang,为什么这是7?

assert(5^2 == 7)

这么奇怪.我试着去谷歌吧.但谷歌与特殊字符不兼容.谢谢.

icz*_*cza 11

^操作符是XOR(异或),逐位施加如果操作数是数字.

5 = 101b // in binary, but Go doesn't have binary literals
2 = 010b
XOR:
7 = 111b
Run Code Online (Sandbox Code Playgroud)