题解 | #进制转换#

进制转换

https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6

package main

import (
	"fmt"
	"math/big"
	"strings"
)

func hexToDec(hexStr string) *big.Int {
	// 去除可能存在的0x前缀
	hexStr = strings.TrimPrefix(hexStr, "0x")

	// 将十六进制字符串转换为大整数
	dec := new(big.Int)
	dec, ok := dec.SetString(hexStr, 16)
	if !ok {
		fmt.Println("Invalid hexadecimal input")
		return nil
	}

	return dec
}

func main() {
	var hexStr string
	fmt.Scanln(&hexStr)

	// 将十六进制字符串转换为十进制表示
	dec := hexToDec(hexStr)
	if dec != nil {
		fmt.Println(dec.String())
	}
}

全部评论

相关推荐

永联 dsp工程师 15k*15 双非硕士
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务