时间:2021-07-04 09:26:56 | 栏目:Golang | 点击:次
Go语言中符号 “ ^ ” 不再用于次方,而是表示“按位异或的运算”
具体的运算规则如下:
按位异或 ^ : 两位一个为 0, 一个为 1 ,结果为 1 ,否则为 0(位表示二进制的机器码)
例子如下:
所以Go语言中2^3 = 1 不是 8(注意:计算机都是按照补码进行运算)
那么Go语言中的次方是什么:(下图所示)
(官方文档是个好帮手)
补充:leetcode golang实现一个数的整数次方 pow(x, n)
我就废话不多说了,大家还是直接看代码吧~
package main /* 实现一个数的整数次方 pow(x, n) */ func pow(x float64, n int) float64 { if x == 0 { return 0 } result := calPow(x, n) if n < 0 { result = 1 / result } return result } func calPow(x float64, n int) float64 { if n == 0 { return 1 } if n == 1 { return x } // 向右移动一位 result := calPow(x, n>>1) result *= result // 如果n是奇数 if n&1 == 1 { result *= x } return result }