欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談Go語(yǔ)言中的次方用法

 更新時(shí)間:2020年12月17日 09:14:12   作者:zjd-fighting  
這篇文章主要介紹了淺談Go語(yǔ)言中的次方用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

Go語(yǔ)言中符號(hào) “ ^ ” 不再用于次方,而是表示“按位異或的運(yùn)算”

具體的運(yùn)算規(guī)則如下:

按位異或 ^ : 兩位一個(gè)為 0, 一個(gè)為 1 ,結(jié)果為 1 ,否則為 0(位表示二進(jìn)制的機(jī)器碼)

例子如下:

所以Go語(yǔ)言中2^3 = 1 不是 8(注意:計(jì)算機(jī)都是按照補(bǔ)碼進(jìn)行運(yùn)算)

那么Go語(yǔ)言中的次方是什么:(下圖所示)

(官方文檔是個(gè)好幫手)

補(bǔ)充:leetcode golang實(shí)現(xiàn)一個(gè)數(shù)的整數(shù)次方 pow(x, n)

我就廢話(huà)不多說(shuō)了,大家還是直接看代碼吧~

package main
 
/*
	實(shí)現(xiàn)一個(gè)數(shù)的整數(shù)次方
	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
	}
 
	// 向右移動(dòng)一位
	result := calPow(x, n>>1)
	result *= result
 
	// 如果n是奇數(shù)
	if n&1 == 1 {
		result *= x
	}
 
	return result
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

最新評(píng)論