首頁  >  文章  >  go語言如何將16進制轉二進位

go語言如何將16進制轉二進位

DDD
DDD原創
2023-06-09 09:49:351380瀏覽

go語言16進位轉二進位的步驟:1、創建一個16進位與二進位對應的表;2、逐字遍歷hash,將單一字元轉換為二進位;3、不滿4位則填入,用2進位表示16進位需要用4位;4、依序組合即可。

go語言如何將16進制轉二進位

實作方法很多,例如建立一個16進位與二進位對應的表,對hash字串逐一遍歷查詢然後組合即可。

我這裡使用了另一種方法,大致思路如下:

  • 逐字元遍歷hash,將單一字元轉換為二進位;

  • 不滿4位元則填入;(2^4 = 16,用2進位表示16進位需要用4位元)

  • 依序組合;

程式碼範例:

package util
import(
"strings"
"strconv"
)
func hash2bin(hash string)(string,int,error){
binary_string := ""
for _, char := range hash{
char_hex,err:= strconv.ParseInt(string(char),16,8)
if err!=nil{
return "",0,err
}
char_bin := ""
for ; char_hex > 0; char_hex /=2{
b := char_hex % 2
char_bin = strconv.Itoa(int(b))+char_bin
}
fill := 4-len(char_bin)
for fill>0{
char_bin = "0" + char_bin
fill -= 1
}
binary_string += char_bin
}
return binary_string,len(binary_string),nil
}

以上是go語言如何將16進制轉二進位的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn