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 语言程序代码。