Rumah  >  Artikel  >  Bagaimana untuk menukar perenambelasan kepada binari dalam bahasa go

Bagaimana untuk menukar perenambelasan kepada binari dalam bahasa go

DDD
DDDasal
2023-06-09 09:49:351384semak imbas

Langkah-langkah untuk menukar perenambelasan kepada perduaan dalam bahasa Go: 1. Buat jadual yang sepadan dengan perenambelasan dan perduaan 2. Lintas aksara cincang mengikut aksara dan tukar satu aksara kepada perduaan; daripada 4 digit digunakan , menggunakan perduaan untuk mewakili perenambelasan memerlukan 4 digit. Hanya menggabungkannya mengikut urutan.

Bagaimana untuk menukar perenambelasan kepada binari dalam bahasa go

Terdapat banyak cara untuk melaksanakannya, seperti mencipta jadual yang sepadan dengan perenambelasan dan binari, merentasi rentetan cincang satu demi satu, bertanya dan kemudian menggabungkannya .

Saya menggunakan kaedah lain di sini, idea umum adalah seperti berikut:

  • Lintas aksara cincang mengikut aksara dan tukar satu aksara kepada perduaan; >

  • Jika kurang daripada 4 digit, isikannya; (2^4 = 16, menggunakan binari untuk mewakili perenambelasan memerlukan 4 digit)
  • Gabungkan mengikut urutan;
  • Contoh kod:
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
}

Atas ialah kandungan terperinci Bagaimana untuk menukar perenambelasan kepada binari dalam bahasa go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn