Go语言程序:数值数据转换为十六进制


在本教程中,我们将学习如何使用 Go 编程语言将数值数据转换为十六进制数。
十六进制数系统被描述为一种 16 位数字表示法,它使用 0-9 和 A-F 表示数字。换句话说,前 9 个数字用数字表示,接下来的 6 个数字用 A-F 的符号表示。

示例 1:使用 fmt.Sprintf() 函数将数据转换为十六进制数的 Go 语言程序代码

语法

func Sprintf(format string, a ...interface{}) string

Go 语言中的 **fmt.Sprintf()** 函数根据格式说明符进行格式化,并返回生成的字符串。此函数在 fmt 包下定义。

此函数接受两个参数:格式字符串和一个…interface{},并返回生成的字符串。

算法

  • **步骤 1** − 导入 fmt 包。

  • **步骤 2** − 启动函数 **main ()**。

  • **步骤 3** − 声明并初始化整数变量。

  • **步骤 4** − 通过调用 **fmt.Sprintf()** 函数计算十六进制值。

  • **步骤 5** − 使用 **fmt.Printf()** 打印结果。

示例

// GOLANG PROGRAM TO CONVERT DATA TO HEXADECIMAL package main // fmt package allows us to print anything on the screen // fmt.Sprint function is defined under the fmt package import "fmt" // start the function main () // this function is the entry point of the executable program func main() { fmt.Println("Golang Program to convert data to hexadecimal") // initialize the integer variable int_value := 321 // calculate the hex value by calling the function fmt.Sprintf() // %x prints the hexadecimal characters in lowercase hex_value := fmt.Sprintf("%x", int_value) fmt.Printf("Hex value of %d is = %s\n", int_value, hex_value) // %X prints the hexadecimal characters in uppercase hex_value = fmt.Sprintf("%X", int_value) fmt.Printf("Hex value of %d is = %s\n", int_value, hex_value) // initialize the integer variable int_value = 6987 // calculate the hex value by calling the function fmt.Sprintf() // %x prints the hexadecimal characters in lowercase hex_value = fmt.Sprintf("%x", int_value) fmt.Printf("Hex value of %d is = %s\n", int_value, hex_value) // %X prints the hexadecimal characters in uppercase hex_value = fmt.Sprintf("%X", int_value) fmt.Printf("Hex value of %d is = %s\n", int_value, hex_value) // print the result }

输出

Golang Program to convert data to hexadecimal
Hex value of 321 is = 141
Hex value of 321 is = 141
Hex value of 6987 is = 1b4b
Hex value of 6987 is = 1B4B

代码描述

  • 在上面的程序中,我们首先声明 main 包。main 包用于告诉 Go 语言编译器必须编译该包并生成可执行文件。

  • 我们导入了 fmt 包,其中包含 fmt 包的文件,然后我们可以使用与 fmt 包相关的函数。

  • 现在启动函数 main (),此函数是可执行程序的入口点。它不接受任何参数也不返回任何值。

  • 声明整数变量并将变量“value”初始化为您要转换为十六进制的整数值。

  • 接下来,我们调用 **fmt.Sprintf()** 函数,该函数根据格式说明符进行格式化并返回生成的字符串。

  • 当我们在 **fmt.Sprintf()** 中使用 %x 时,结果以小写字母打印;当我们使用 %X 时,结果以大写字母打印。

  • 最后,使用 **fmt.Printf()** 函数将结果打印到屏幕上,该函数根据格式说明符进行格式化并写入标准输出。

示例 2:使用 strconv 包中定义的 strconv.FormatInt() 函数将数据转换为十六进制数的 Go 语言程序代码

语法

func FormatInt (i int64, base int) string

FormatInt 将值转换为字符串。FormatInt 返回 i 在给定基数中的字符串表示形式,其中 2 <= base <= 36。结果使用小写字母 'a' 到 'z' 表示大于等于 10 的数字值。

范围表达式在循环开始之前只计算一次。

算法

  • **步骤 1** − 导入 fmt 包和 strconv 包

  • **步骤 2** − 启动 main () 函数

  • **步骤 3** − 声明并初始化整数变量

  • **步骤 4** − 通过调用 strconv.FormatInt() 函数计算十六进制值

  • **步骤 5** − 使用 fmt.Println() 打印结果。

示例

// GOLANG PROGRAM TO CONVERT DATA TO HEXADECIMAL package main // fmt package allows us to print anything on the screen // fmt.Sprint function is defined under the fmt package import ( "fmt" "strconv" ) // start the function main () // this function is the entry point of the executable program func main() { fmt.Println("Golang Program to convert data to hexadecimal") // declare a integer variable var num int64 // initialize the integer variable num = 11 // calculate the hex value by calling the strconv.FormatInt() function hex_num := strconv.FormatInt(num, 16) // print the result fmt.Printf("hexadecimal num of %d is %s", num, hex_num) num = 500 hex_num = strconv.FormatInt(num, 16) fmt.Printf("\nhexadecimal num of %d is %s", num, hex_num) }

输出

Golang Program to convert data to hexadecimal
hexadecimal num of 11 is b
hexadecimal num of 500 is 1f4

代码描述

  • 在上面的程序中,我们首先声明 main 包

  • 我们导入了 fmt 包(包含 fmt 包的文件)和 strconv 包(实现基本数据类型的字符串表示形式的转换)。

  • 现在我们启动 **函数 main ()**,此函数是可执行程序的入口点。它不接受任何参数也不返回任何值。

  • 声明整数变量 num 并将其初始化为您需要查找其十六进制数的值。

  • 接下来,我们通过调用 **strconv.FormatInt ()** 函数计算十六进制值。FormatInt 函数将值转换为字符串并返回 num 变量的字符串表示形式。

  • 最后,结果使用 **fmt.Println()** 函数打印到屏幕上,该函数使用其操作数的默认格式进行格式化并写入标准输出。

结论

在上面的两个示例中,我们已成功编译并执行了将数据转换为十六进制的 Go 语言程序代码。

更新于:2022年11月15日

3K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告