golang指数运算操作
作者:思维的深度 发布时间:2024-01-30 22:35:53
标签: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里面对于这种表达式都可以套用+=这种我们熟悉的,复杂一点的就按步骤分解。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://skaygo.blog.csdn.net/article/details/80486231


猜你喜欢
- 1、bootstrapBootstrap 是Twitter推出的一个用于前端开发的,一个用于 HTML、CSS 和 JS 开发的开源工具包,
- javascript过滤数组重复元素的实现方法 以下是在
- 安装包 PyCharm笔者使用PyCharm2018.3.2,请根据机器是64位还是32位来选择对应的PyCharm版本。(相信绝大部分人都
- 对于python,这几天一直有两个问题在困扰我:1.python中没办法直接取得当前的行号和函数名。这是有人在论坛里提出的问题,底下一群人只
- models.py:from django.db import models # 出版社class Publisher(models.Mod
- 因为我博客使用的Disqus代理服务下线,博客的评论系统可能有一阵子没有工作了。惭愧的是我竟然最近才发现,我的工作环境一直是没有GFW存在的
- 如何编写具有良好结构的CSS?如果在设计流程中缺乏"秩序"或"章法"是非常不利的,你得冒着风险去添加
- pytest官方文档fixtures调用既然fixtures是给执行测试做准备工作的,那么pytest如何知道哪些测试函数 或者 fixtu
- 使用字符串时,常见的操作之一是使用给定的分隔符将字符串拆分为子字符串数组。在本文中,我们将讨论如何在Python中拆分字符串。.split(
- 本文实例讲述了python多线程高级锁condition简单用法。分享给大家供大家参考,具体如下:多线程编程中如果使用Condition对象
- 目录一、学习如何定义一个对象二、学习如何连接MySQL并查询三、学习如何读写csv四、读取xlsx五、读写PDF一、学习如何定义一个对象代码
- asp连接sql server代码如下:dim connset conn = Serve
- 1.背景在逆向Dephi程序时,会出现Dede软件可以看到函数的函数名,但是IDA逆向的时候看不到,为了解决这个问题,可以通过以下的方法来实
- fileinput模块可以遍历文本文件的所有行.它的工作方式和readlines很类似,不同点在于,它不是将全部的行读到列表中而是创建了一个
- 项目github地址:bitcarmanlee easy-algorithm-interview-and-practice1.Python中
- fileinput模块可以对一个或多个文件中的内容进行迭代、遍历等操作。该模块的input()函数有点类似文件readlines()方法,区
- 前言本文主要给大家介绍了关于python3 smtplib通过qq邮箱发送邮件的相关内容, smtplib模块是smtp简单邮件传输协议客户
- <html> <head> <title>51windows.Net </title> &l
- 主键自增MySQL 提供了主键自增机制 AUTO_INCREMENT. 对主键使用, 保证了主键的唯一性.注意:自增长必须与主键字段配合使用
- A.截取从字符串左边开始N个字符 Declare @S1 varchar(100) Select @S1='http://www.x