计算机语言中的次方,浅谈Go语言中的次方用法

Go语言中符号 “ ^ ” 不再用于次方,而是表示“按位异或的运算”

具体的运算规则如下:

按位异或 ^ : 两位一个为 0, 一个为 1 ,结果为 1 ,否则为 0(位表示二进制的机器码)

例子如下:

0882586e64c1d4ac8ea2d53071246907.png

所以Go语言中2^3 = 1 不是 8(注意:计算机都是按照补码进行运算)

那么Go语言中的次方是什么:(下图所示)

78b478cb8ea4326952a12551499c1cf0.png

(官方文档是个好帮手)

补充: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

}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值