当前位置 博文首页 > 浅谈Go语言中的次方用法

    浅谈Go语言中的次方用法

    作者:zjd-fighting 时间:2021-02-09 06:29

    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
    }

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

    js
    下一篇:没有了