Pertama sekali, untuk lebih memahami kemahiran pemprosesan data binari dan heksadesimal fungsi Golang, kita perlu menjelaskan pengetahuan asas binari dan perenambelasan.
Sistem binari, juga dipanggil sistem asas 2, ialah kaedah perwakilan nombor yang paling biasa digunakan dalam sistem komputer. Dalam binari, terdapat hanya dua nilai yang mungkin untuk setiap bit, 0 dan 1. Sebagai contoh, 1011 ialah nombor binari. Dalam komputer, semua maklumat boleh ditukar kepada perwakilan binari, seperti program, data dan imej.
Heksadesimal ialah sistem asas 16 Ia digunakan untuk memudahkan perwakilan binari dalam komputer, kerana ia menyusahkan untuk mewakili nombor yang lebih panjang dalam binari. Dalam perenambelasan, kerana terdapat 16 jenis aksara yang tersedia, 16 aksara 0~9, A~F boleh digunakan untuk mewakili nombor Sebagai contoh, 1A3 ialah nombor perenambelasan.
Di Golang, teknik pemprosesan data binari dan heksadesimal terutamanya merangkumi aspek berikut:
Dalam program, selalunya terdapat keperluan untuk menukar rentetan binari kepada nombor perpuluhan, atau menukar nombor perpuluhan kepada rentetan binari. Pada masa ini, anda boleh menggunakan pakej strconv terbina dalam Golang untuk mencapai matlamat ini.
Pertama sekali, jika kita ingin menukar nombor perduaan yang diwakili oleh rentetan kepada nombor perpuluhan, kita boleh menggunakan fungsi ParseInt() dalam pakej strconv Contohnya adalah seperti berikut:
binStr := "101101" dec, err := strconv.ParseInt(binStr, 2, 64) if err != nil { // 错误处理 } fmt.Println(dec) // 输出45
Antaranya, yang pertama Parameter ialah rentetan binari yang akan dihuraikan, parameter kedua ialah nombor asas, di sini ialah 2, dan parameter terakhir ialah bilangan digit jenis int64 yang ditukar.
Begitu juga, jika kita ingin menukar nombor perpuluhan kepada rentetan binari, kita boleh menggunakan fungsi FormatInt() dalam pakej strconv Contohnya seperti berikut:
dec := 45 binStr := strconv.FormatInt(int64(dec), 2) fmt.Println(binStr) // 输出"101101"
Antaranya, parameter pertama ialah nombor perpuluhan yang diformatkan, parameter kedua ialah nombor asas, di sini ialah 2.
Untuk menukar nombor perduaan dan nombor perenambelasan antara satu sama lain, anda juga boleh menggunakan fungsi dalam pakej strconv, hanya perlu Just tukar parameter nombor asas kepada nombor asas yang sepadan.
Sebagai contoh, jika kita ingin menukar nombor perenambelasan kepada rentetan binari, kita boleh menggunakan fungsi FormatInt() dalam pakej strconv Contohnya seperti berikut:
hexStr := "1A3" dec, err := strconv.ParseInt(hexStr, 16, 64) if err != nil { // 错误处理 } binStr := strconv.FormatInt(dec, 2) fmt.Println(binStr) // 输出"110100011"
Antaranya , yang pertama Parameter ialah rentetan perenambelasan untuk dihuraikan, dan parameter kedua ialah nombor asas, di sini ialah 16. Begitu juga, jika kita ingin menukar rentetan binari kepada rentetan perenambelasan, kita hanya perlu menukar parameter nombor asas yang sepadan kepada 2 dan 16.
Dalam memproses data binari, operasi bit selalunya merupakan bahagian penting. Golang juga menyediakan sejumlah besar operator dan fungsi untuk operasi bit.
Sebagai contoh, jika kita ingin menetapkan bit ke-n bagi nombor binari kepada 1, kita boleh menggunakan operator anjakan kiri "<<" dan operator bitwise OR "|", contoh Seperti berikut:
num := 0b01011 // 这里的0b表示二进制数 n := 2 // 设置第3位为1 num |= 1 << n fmt.Printf("%b", num) // 输出"1011"
Antaranya, "|=" mewakili singkatan operator bitwise OR Fungsinya adalah untuk melakukan operasi OR bitwise pada nombor di sebelah kiri dan kanan sebelum menetapkannya kepada pembolehubah di sebelah kiri.
Ringkasan
Di atas adalah beberapa teknik Golang biasa untuk memproses data perduaan dan perenambelasan. Ia boleh membantu kita lebih selesa semasa memproses data perduaan. Sudah tentu, ini hanyalah teknik peringkat permulaan Jika anda ingin mengetahui lebih lanjut tentang cara bermain nombor binari, adalah disyorkan untuk membaca lebih banyak bahan yang berkaitan dan mengamalkannya.
Atas ialah kandungan terperinci Petua pemprosesan data binari dan heksadesimal untuk fungsi Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!