gpt4 book ai didi

go - 显示巨大的十六进制字符串的基数 10 表示?

转载 作者:IT王子 更新时间:2023-10-29 02:33:04 26 4
gpt4 key购买 nike

试图找到如何将这个六角字符串“58068906d6194c6cbda7a6df”放入它的基数 10 表示中。

我试过这个:

i, err := strconv.Parse("58068906d6194c6cbda7a6df", 16, 64)

显然我收到了这个错误:parsing "58068906d6194c6cbda7a6df";值超出范围

我还需要采用以 10 为基数的字符串表示形式,并在经过一些处理后取回这个六进制值。即:


base10 := "58068906d6194c6cbda7a6df"=> 以 10 为基数的字符串
一些处理
hexa := base10 => 以 16 为基数的字符串

我可以使用 fmt 包来显示以 10 为底的数字吗?我知道可以使用 %x 来显示以 10 为底的六进制,但是我可以用现有字符串做什么?

感谢您的帮助,由于我无法理解的原因,我找不到任何方法来做到这一点。

最佳答案

您的十六进制值大于 int64 可以容纳的值,因此您必须使用 big.Int

https://play.golang.org/p/OPPL43u6nB

i := new(big.Int)
i.SetString("58068906d6194c6cbda7a6df", 16)
fmt.Println(i)

要从 big.Int 获取十六进制字符串表示,您可以使用 Text 方法:

hex := i.Text(16)

关于go - 显示巨大的十六进制字符串的基数 10 表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40117827/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com