您好,登錄后才能下訂單哦!
這篇“golang不同進(jìn)制之間怎么進(jìn)行轉(zhuǎn)換”文章的知識點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“golang不同進(jìn)制之間怎么進(jìn)行轉(zhuǎn)換”文章吧。
1.十進(jìn)制轉(zhuǎn)化為其他進(jìn)制
在 golang 中,可以使用 fmt 包中的 FormatInt 函數(shù)來將一個十進(jìn)制數(shù)轉(zhuǎn)化為指定進(jìn)制的字符串。該函數(shù)的原型如下:
func FormatInt(i int64, base int) string
其中,i 表示需要轉(zhuǎn)化的十進(jìn)制數(shù),base 是目標(biāo)進(jìn)制,可以為 2、8、10 或 16。例如,將十進(jìn)制數(shù) 18 轉(zhuǎn)化為二進(jìn)制,代碼如下:
package main import ( "fmt" "strconv" ) func main() { n := int64(18) b := strconv.FormatInt(n, 2) fmt.Printf("2進(jìn)制:%s ", b) }
運(yùn)行結(jié)果為:
2進(jìn)制:10010
在上面的代碼中,使用 strconv 的 FormatInt 函數(shù)將十進(jìn)制數(shù) 18 轉(zhuǎn)化為 2 進(jìn)制字符串,并將其打印出來。
類似的,我們可以將十進(jìn)制轉(zhuǎn)化為其他進(jìn)制,只需要改變 base 參數(shù)即可。例如將十進(jìn)制數(shù) 18 轉(zhuǎn)化為八進(jìn)制或十六進(jìn)制,代碼如下:
package main import ( "fmt" "strconv" ) func main() { n := int64(18) o := strconv.FormatInt(n, 8) h := strconv.FormatInt(n, 16) fmt.Printf("8進(jìn)制:%s ", o) fmt.Printf("16進(jìn)制:%s ", h) }
運(yùn)行結(jié)果為:
8進(jìn)制:22 16進(jìn)制:12
2.其他進(jìn)制轉(zhuǎn)化為十進(jìn)制
在 golang 中,可以使用 strconv 包中的 ParseInt 函數(shù)將一個字符串表示的數(shù)字轉(zhuǎn)化為十進(jìn)制數(shù)。該函數(shù)的原型如下:
func ParseInt(s string, base int, bitSize int) (i int64, err error)
其中,s 表示待轉(zhuǎn)化的字符串,base 表示 s 的進(jìn)制,可以為 0、2、8、10 或 16,bitSize 表示結(jié)果的位數(shù),可以為 0、8、16、32 或 64。例如將二進(jìn)制數(shù) 10010 轉(zhuǎn)化為十進(jìn)制,代碼如下:
package main import ( "fmt" "strconv" ) func main() { b := "10010" n, _ := strconv.ParseInt(b, 2, 64) fmt.Printf("10進(jìn)制:%d ", n) }
運(yùn)行結(jié)果為:
10進(jìn)制:18
在上面的代碼中,使用 strconv 的 ParseInt 函數(shù)將二進(jìn)制字符串轉(zhuǎn)化為十進(jìn)制數(shù),并將其打印出來。
類似的,我們可以將其他進(jìn)制的字符串轉(zhuǎn)化為十進(jìn)制數(shù),只需要改變 base 參數(shù)即可。例如將八進(jìn)制字符串 "22" 或十六進(jìn)制字符串 "12" 轉(zhuǎn)化為十進(jìn)制數(shù),代碼如下:
package main import ( "fmt" "strconv" ) func main() { o := "22" h := "12" on, _ := strconv.ParseInt(o, 8, 64) hn, _ := strconv.ParseInt(h, 16, 64) fmt.Printf("8進(jìn)制:%d ", on) fmt.Printf("16進(jìn)制:%d ", hn) }
運(yùn)行結(jié)果為:
8進(jìn)制:18 16進(jìn)制:18
以上就是關(guān)于“golang不同進(jìn)制之間怎么進(jìn)行轉(zhuǎn)換”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。