浅谈Go语言中的次方用法

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

}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

以上是 浅谈Go语言中的次方用法 的全部内容, 来源链接: utcz.com/p/235745.html

回到顶部