go语言中的进制转换

tech2025-11-01  9

比如说我需要16进制转换成2进制

可以先把16进制转换成10进制

    value16,err :=  strconv.ParseUint(string, 16, 32)

然后把10进制转换成2进制

    value2, err := DecConvertToX(int(value), 2)

func DecConvertToX(n, num int) (string, error) { if n < 0 { return strconv.Itoa(n), errors.New("只支持正整数") } if num != 2 && num != 8 && num != 16 { return strconv.Itoa(n), errors.New("只支持二、八、十六进制的转换") } result := "" h := map[int]string{ 0:  "0", 1:  "1", 2:  "2", 3:  "3", 4:  "4", 5:  "5", 6:  "6", 7:  "7", 8:  "8", 9:  "9", 10: "A", 11: "B", 12: "C", 13: "D", 14: "E", 15: "F", } for ; n > 0; n /= num { lsb := h[n%num] result = lsb + result } return result, nil }

 

 

最新回复(0)