淺談Go語言中的次方用法
Go語言中符號 “ ^ ” 不再用于次方,而是表示“按位異或的運(yùn)算”
具體的運(yùn)算規(guī)則如下:
按位異或 ^ : 兩位一個(gè)為 0, 一個(gè)為 1 ,結(jié)果為 1 ,否則為 0(位表示二進(jìn)制的機(jī)器碼)
例子如下:
所以Go語言中2^3 = 1 不是 8(注意:計(jì)算機(jī)都是按照補(bǔ)碼進(jìn)行運(yùn)算)
那么Go語言中的次方是什么:(下圖所示)
(官方文檔是個(gè)好幫手)
補(bǔ)充:leetcode golang實(shí)現(xiàn)一個(gè)數(shù)的整數(shù)次方 pow(x, n)
我就廢話不多說了,大家還是直接看代碼吧~
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 } // 向右移動一位 result := calPow(x, n>>1) result *= result // 如果n是奇數(shù) if n&1 == 1 { result *= x } return result }
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
go實(shí)現(xiàn)grpc四種數(shù)據(jù)流模式
這篇文章主要為大家介紹了go實(shí)現(xiàn)grpc四種數(shù)據(jù)流模式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04Golang極簡入門教程(四):編寫第一個(gè)項(xiàng)目
這篇文章主要介紹了Golang極簡入門教程(四):編寫第一個(gè)項(xiàng)目,本文講解了workspace、包路徑、第一個(gè)可執(zhí)行命令等內(nèi)容,需要的朋友可以參考下2014-10-10Go語言學(xué)習(xí)之接口類型(interface)詳解
接口是用來定義行為的類型,定義的行為不由接口直接實(shí)現(xiàn),而由通過方法由定義的類型實(shí)現(xiàn),本文就來和大家詳細(xì)講講Go語言中接口的使用吧2023-03-03源碼解析gtoken替換jwt實(shí)現(xiàn)sso登錄
這篇文章主要為大家介紹了源碼解析gtoken替換jwt實(shí)現(xiàn)sso登錄的示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Go語言中的數(shù)據(jù)格式(json、xml?、msgpack、protobuf)使用總結(jié)
在分布式的系統(tǒng)中,因?yàn)樯婕暗綌?shù)據(jù)的傳輸,所以一定會進(jìn)行數(shù)據(jù)的交換,此時(shí)就要定義數(shù)據(jù)交換的格式,例如二進(jìn)制、Json、Xml等等。本文總結(jié)了Go語言中的數(shù)據(jù)格式,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07Go語言通過TCP協(xié)議實(shí)現(xiàn)聊天室功能
這篇文章主要為大家詳細(xì)介紹了Go語言中如何通過TCP協(xié)議實(shí)現(xiàn)聊天室功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04