1. 程式人生 > 程式設計 >淺談Go語言中的次方用法

淺談Go語言中的次方用法

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。