Go語言中符號 “ ^ ” 不再用于次方,而是表示“按位異或的運算”
具體的運算規(guī)則如下:
按位異或 ^ : 兩位一個為 0, 一個為 1 ,結果為 1 ,否則為 0(位表示二進制的機器碼)
例子如下:
所以Go語言中2^3 = 1 不是 8(注意:計算機都是按照補碼進行運算)
那么Go語言中的次方是什么:(下圖所示)
(官方文檔是個好幫手)
補充:leetcode golang實現(xiàn)一個數(shù)的整數(shù)次方 pow(x, n)
我就廢話不多說了,大家還是直接看代碼吧~
package main
/*
實現(xiàn)一個數(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
}
// 向右移動一位
result := calPow(x, n>>1)
result *= result
// 如果n是奇數(shù)
if n1 == 1 {
result *= x
}
return result
}
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- 使用go求冪的幾種方法小結
- Golang 運算符及位運算詳解
- golang指數(shù)運算操作
- golang切片反序實例
- Go語言實現(xiàn)牛頓法求平方根函數(shù)的案例