2 回答

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
您不能encoding/binary
為此使用,因?yàn)槟鞘切蛄谢头葱蛄谢煌担ɡ鐢?shù)字)的(內(nèi)存)字節(jié)。您擁有的是數(shù)字的基數(shù) 2 字符串表示形式。
要獲得它的整數(shù)值,你必須解析它。為此,請(qǐng)使用strconv.ParseUint()
:
s := "00000000000000000000000000001011"
u, err := strconv.ParseUint(s, 2, 32)
if err != nil {
? ? panic(err)
}
fmt.Println(u)
此輸出(在Go Playground上嘗試):
11
注意,strconv.ParseUint()
返回的是 type 的值uint64
,所以如果需要uint32
,就得手動(dòng)轉(zhuǎn)換一下,eg:
u32?:=?uint32(u)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
例如,
package main
import (
"fmt"
"strconv"
)
func main() {
s := "00000000000000000000000000001011"
fmt.Println(s)
u64, err := strconv.ParseUint(s, 2, 32)
u32 := uint32(u64)
if err == nil {
fmt.Println(u32)
}
}
游樂(lè)場(chǎng):https://play.golang.org/p/yiicgWsb7B_M
輸出:
00000000000000000000000000001011 11
- 2 回答
- 0 關(guān)注
- 343 瀏覽
添加回答
舉報(bào)