比如说我需要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 }
