国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

Golang如何實現(xiàn)任意進制轉(zhuǎn)換的方法示例

2020-04-01 19:03:18
字體:
供稿:網(wǎng)友

前言

最近因為工作的需要,需要寫個短鏈服務(wù),用到了10->62進制,網(wǎng)上找了一個,可以轉(zhuǎn)換最多76位進制的博客,現(xiàn)在分享出來,下面話不多說了,來一起看看詳細的介紹吧。

壓縮數(shù)據(jù)用,無損壓縮

示例代碼:

package mainimport ( "fmt" "math" "strconv" "strings")var tenToAny map[int]string = 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", 16: "g", 17: "h", 18: "i", 19: "j", 20: "k", 21: "l", 22: "m", 23: "n", 24: "o", 25: "p", 26: "q", 27: "r", 28: "s", 29: "t", 30: "u", 31: "v", 32: "w", 33: "x", 34: "y", 35: "z", 36: ":", 37: ";", 38: "<", 39: "=", 40: ">", 41: "?", 42: "@", 43: "[", 44: "]", 45: "^", 46: "_", 47: "{", 48: "|", 49: "}", 50: "A", 51: "B", 52: "C", 53: "D", 54: "E", 55: "F", 56: "G", 57: "H", 58: "I", 59: "J", 60: "K", 61: "L", 62: "M", 63: "N", 64: "O", 65: "P", 66: "Q", 67: "R", 68: "S", 69: "T", 70: "U", 71: "V", 72: "W", 73: "X", 74: "Y", 75: "Z"}func main() { fmt.Println(decimalToAny(9999, 76)) fmt.Println(anyToDecimal("1F[", 76))}// 10進制轉(zhuǎn)任意進制func decimalToAny(num, n int) string { new_num_str := "" var remainder int var remainder_string string for num != 0 {  remainder = num % n  if 76 > remainder && remainder > 9 {   remainder_string = tenToAny[remainder]  } else {   remainder_string = strconv.Itoa(remainder)  }  new_num_str = remainder_string + new_num_str  num = num / n } return new_num_str}// map根據(jù)value找keyfunc findkey(in string) int { result := -1 for k, v := range tenToAny {  if in == v {   result = k  } } return result}// 任意進制轉(zhuǎn)10進制func anyToDecimal(num string, n int) int { var new_num float64 new_num = 0.0 nNum := len(strings.Split(num, "")) - 1 for _, value := range strings.Split(num, "") {  tmp := float64(findkey(value))  if tmp != -1 {   new_num = new_num + tmp*math.Pow(float64(n), float64(nNum))   nNum = nNum - 1  } else {   break  } } return int(new_num)}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網(wǎng)的支持。

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 永济市| 改则县| 台北市| 台北市| 噶尔县| 泗阳县| 玛沁县| 锡林浩特市| 新丰县| 古丈县| 翼城县| 南华县| 阿拉尔市| 晋州市| 淮北市| 衢州市| 政和县| 逊克县| 玛纳斯县| 溧水县| 客服| 安康市| 鹿邑县| 家居| 南雄市| 琼结县| 柘荣县| 许昌县| 延川县| 阳曲县| 庐江县| 东至县| 桓仁| 阿克陶县| 灵武市| 乌兰县| 鸡泽县| 新绛县| 武穴市| 广元市| 临城县|