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

in go lang, why this is 7 ? assert(5^2 == 7)

在 go lang 中,为什么这是 7?

assert(5^2 == 7)

太奇怪了。 我试着 google 它。但 google 不适用于特殊字符。 谢谢

这是一个Arithmetic operators:

^    bitwise XOR            integers

你可以在这个Bitwise Calculator

上看到
Result in binary    111

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

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

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

package main

import (
    "fmt"
    "math"
)

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