gpt4 book ai didi

Go - 将表示二进制数的字符串转换为 int

转载 作者:IT老高 更新时间:2023-10-28 13:06:47 30 4
gpt4 key购买 nike

我为此写了一个愚蠢的解决方案,有更好的方法吗?如您所见,那里有很多无用的转换。

package main

import (
"fmt"
"strconv"
"math"
)

func conv(str string) int {
l := len(str)
result := 0.0
for i,n := range str {
number,_ := strconv.Atof64(string(n))
result += math.Exp2(float64(l-i-1))*number
}
return int(result)
}

func main() {
fmt.Println(conv("1001"))
}

最佳答案

你想要 strconv.ParseInt函数,将任意基数转换为给定的位大小。

package main

import (
"fmt"
"strconv"
)

func main() {
if i, err := strconv.ParseInt("1001", 2, 64); err != nil {
fmt.Println(err)
} else {
fmt.Println(i)
}
}

Playground

关于Go - 将表示二进制数的字符串转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9271469/

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