golang指数运算操作

 更新时间:2020年12月17日 08:35:05   作者:思维的深度  
这篇文章主要介绍了golang指数运算操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

我就废话不多说了,大家还是直接看代码吧~

func main() {
 fmt.Println(exponent (5,3))
}
//a的n次方
//超出uint64的部分会丢失
func exponent (a,n uint64) uint64 {
 result := uint64(1)
 for i := n ; i > 0; i >>= 1 {
 if i&1 != 0 {
 result *= a
 }
 a *= a
 }
 return result
}

补充:Golang 位运算之 &^

看Golang源代码,突然看到一个 a &^ b的位操作,有点懵,在通过不断的写测试验证,终于弄清楚了是怎么回事,在这里记录一下,避免忘记。

在弄清楚a &^ b是怎么回事之前,我们先看一个我们熟悉的 a += b:

a += b ==> a = a + b

其实&^也是一样:

a &^ b ==> a ^ (a & b)

只是把 = 换成了 ^ 。

还有更复杂一点的,但万变不离其宗,如 a &^= b:

a &^= b,分两步分解:

==> a = a &^ b

==> a = a ^ (a & b)

在Golang里面对于这种表达式都可以套用+=这种我们熟悉的,复杂一点的就按步骤分解。

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

相关文章

  • 使用GO操作MongoDB的方法

    使用GO操作MongoDB的方法

    这篇文章主要介绍了使用GO操作MongoDB,包括安装MongoDB驱动程序连接mongodb的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 解决Goland中利用HTTPClient发送请求超时返回EOF错误DEBUG

    解决Goland中利用HTTPClient发送请求超时返回EOF错误DEBUG

    这篇文章主要介绍了解决Goland中利用HTTPClient发送请求超时返回EOF错误DEBUG,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • 详解Go语言运用广度优先搜索走迷宫

    详解Go语言运用广度优先搜索走迷宫

    广度优先搜索是从图中的某一顶点出发,遍历每一个顶点时,依次遍历其所有的邻接点,再从这些邻接点出发,依次访问它们的邻接点,直到图中所有被访问过的顶点的邻接点都被访问到。然后查看图中是否存在尚未被访问的顶点,若有,则以该顶点为起始点,重复上述遍历的过程
    2021-06-06
  • go语言中五种字符串的拼接方式(小结)

    go语言中五种字符串的拼接方式(小结)

    字符串拼接在 golang 里面其实有很多种实现,本文就详细的介绍一下go语言中五种字符串的拼接方式以及性能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Skywalking-go自动监控增强使用探究

    Skywalking-go自动监控增强使用探究

    这篇文章主要介绍了Skywalking-go自动监控增强使用深入探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • golang flag包的使用教程

    golang flag包的使用教程

    golang 的 flag 包是用于处理命令行参数的工具包,我们可以基于这个包来开发自定义的命令行工具,下面小编就来为大家介绍一下flag包的具体使用吧
    2023-09-09
  • Go语言开发k8s之Deployment操作解析

    Go语言开发k8s之Deployment操作解析

    这篇文章主要为大家介绍了Go语言开发k8s之Deployment操作解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Go Java算法之Excel表列名称示例详解

    Go Java算法之Excel表列名称示例详解

    这篇文章主要为大家介绍了Go Java算法之Excel表列名称示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • golang 实现tcp server端和client端,并计算RTT时间操作

    golang 实现tcp server端和client端,并计算RTT时间操作

    这篇文章主要介绍了golang 实现tcp server端和client端,并计算RTT时间操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Go语言基础switch条件语句基本用法及示例详解

    Go语言基础switch条件语句基本用法及示例详解

    这篇文章主要为大家介绍了Go语言基础switch条件语句基本用法及示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11

最新评论