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

时间:2015-02-01 19:06:02

标签: go

在go lang,为什么这是7?

assert(5^2 == 7)

很奇怪。 我试着去谷歌吧。但谷歌与特殊字符不兼容。 感谢。

3 个答案:

答案 0 :(得分:11)

^运算符是XOR(异或),如果操作数是数字,则按位应用。

5 = 101b // in binary, but Go doesn't have binary literals
2 = 010b
XOR:
7 = 111b

答案 1 :(得分:7)

这是Arithmetic operators

^    bitwise XOR            integers

您可以在Bitwise Calculator

上看到它
Result in binary    111

答案 2 :(得分:2)

正如其他人已经描述的那样,^是XOR的运算符。如果要计算5的平方,可以使用math.Pow()函数。

package main

import (
    "fmt"
    "math"
)

func main() {
    fmt.Printf("square of 5 = %f\n", math.Pow(5,2))
}