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

具体的运算规则如下:

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

例子如下:

浅谈Go语言中的次方用法

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

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

浅谈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, n1)
	result *= result
 
	// 如果n是奇数
	if n&1 == 1 {
		result *= x
	}
 
	return result
}

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

标签:
Go语言,次方

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“浅谈Go语言中的次方用法”
暂无“浅谈Go语言中的次方用法”评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。