首页 >后端开发 >Golang >如何在Go语言中进行进制转换

如何在Go语言中进行进制转换

PHPz
PHPz原创
2023-04-11 09:11:022286浏览

Go语言是一种开源的编程语言,可以用于快速开发简单、可靠的程序。在Go语言的开发过程中,经常需要进行进制转换。本文将讲解如何在Go语言中进行进制转换。

十进制转二进制

在Go语言中,可以使用 strconv 包将十进制数转换为二进制数。

package main

import (
    "fmt"
    "strconv"
)

func main() {
    num := 10
    binary := strconv.FormatInt(int64(num), 2)
    fmt.Println(num, "的二进制表示为", binary)
}

以上代码会输出:

10 的二进制表示为 1010

strconv.FormatInt() 函数将一个十进制数转换为二进制字符串。该函数的第一个参数是要转换的数值,第二个参数是目标进制,本例中是2。

二进制转十进制

如果需要将一个二进制数值转换为十进制数值,也可以使用 strconv 包。

package main

import (
    "fmt"
    "strconv"
)

func main() {
    binary := "1010"
    num, _ := strconv.ParseInt(binary, 2, 64)
    fmt.Println(binary, "的十进制表示为", num)
}

以上代码会输出:

1010 的十进制表示为 10

strconv.ParseInt() 函数将一个字符串解析为一个整数。该函数的第一个参数是要解析的字符串,第二个参数是目标进制,本例中是2,第三个参数是结果类型的位数,本例中是64位整数。

十进制转十六进制

在 Go语言中,strconv包也提供了将十进制数转换为十六进制数的函数:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    num := 33752069
    hex := strconv.FormatInt(int64(num), 16)
    fmt.Println(num, "的十六进制表示为", hex)
}

以上代码会输出:

33752069 的十六进制表示为 2030405

strconv.FormatInt() 函数将一个十进制数转换为十六进制字符串。该函数的第一个参数是要转换的数值,第二个参数是目标进制,本例中是16。

十六进制转十进制

如果需要将一个十六进制数值转换为十进制数值,同样可以使用 strconv 包。

package main

import (
    "fmt"
    "strconv"
)

func main() {
    hex := "2030405"
    num, _ := strconv.ParseInt(hex, 16, 64)
    fmt.Println(hex, "的十进制表示为", num)
}

以上代码会输出:

2030405 的十进制表示为 33752069

strconv.ParseInt() 函数将一个字符串解析为一个整数。该函数的第一个参数是要解析的字符串,第二个参数是目标进制,本例中是16,第三个参数是结果类型的位数,本例中是64位整数。

总结

本文介绍了Go语言中如何进行进制转换。通过 strconv 包,我们可以轻松地将十进制数转换为其他进制数,或者将其他进制数转换为十进制数。这是Go语言编程中十分常见的技能之一。

以上是如何在Go语言中进行进制转换的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn