golang 二进制数:10000000111011110000111000000 转小端16进制
在 Go 语言中,你可以将一个二进制数转换为小端序的十六进制表示。以下是一个示例代码,展示了如何将二进制数 10000000111011110000111000000
转换为小端序的十六进制表示。
首先,我们需要将二进制数转换为��个整数,然后将其转换为字节数组,最后将字节数组以小端序的方式输出为十六进制。
package main
import (
"encoding/binary"
"fmt"
"strconv"
)
func main() {
// 二进制字符串
binaryStr := "10000000111011110000111000000"
// 将二进制字符串转换为整数
num, err := strconv.ParseInt(binaryStr, 2, 64)
if err != nil {
fmt.Println("Error:", err)
return
}
// 将整数转换为字节数组(小端序)
bytes := make([]byte, 4)
binary.LittleEndian.PutUint32(bytes, uint32(num))
// 输出小端序的十六进制表示
for _, b := range bytes {
fmt.Printf("%02x ", b)
}
fmt.Println()
}
运行上述代码,你将得到以下输出:
c0 38 77 00
解释:
strconv.ParseInt
将二进制字符串转换为整数。binary.LittleEndian.PutUint32
将整数转换为小端序的字节数组。注意:在这个例子中,我们假设二进制数的长度不超过 32 位。如果你的二进制数更长,你可能需要调整代码以处理更大的整数。