Maison  >  Article  >  développement back-end  >  Conseils de traitement des données binaires et hexadécimales pour les fonctions Golang

Conseils de traitement des données binaires et hexadécimales pour les fonctions Golang

PHPz
PHPzoriginal
2023-05-17 08:51:252180parcourir

Tout d'abord, afin de mieux comprendre les compétences de traitement des données binaires et hexadécimales de la fonction Golang, nous devons clarifier les connaissances de base du binaire et de l'hexadécimal.

Le système binaire, également appelé système base 2, est la méthode de représentation des nombres la plus couramment utilisée dans les systèmes informatiques. En binaire, il n'y a que deux valeurs possibles pour chaque bit, 0 et 1. Par exemple, 1011 est un nombre binaire. Dans les ordinateurs, toutes les informations peuvent être converties en représentations binaires, telles que des programmes, des données et des images.

Le système hexadécimal est un système en base 16. Il est utilisé pour simplifier la représentation binaire dans les ordinateurs, car il est plus fastidieux de représenter des nombres plus longs en binaire. En hexadécimal, puisqu'il existe 16 types de caractères disponibles, les 16 caractères 0~9, A~F peuvent être utilisés pour représenter des nombres. Par exemple, 1A3 est un nombre hexadécimal.

En Golang, pour les techniques de traitement de données binaires et hexadécimales, on retrouve principalement les aspects suivants :

  1. Conversion de chaînes binaires et de nombres décimaux

Dans les programmes, il est souvent nécessaire de convertir des binaires La nécessité de convertir une chaîne en un nombre décimal, ou convertir un nombre décimal en une chaîne binaire. À l'heure actuelle, vous pouvez utiliser le package strconv intégré de Golang pour y parvenir.

Tout d'abord, si nous voulons convertir un nombre binaire représenté par une chaîne en un nombre décimal, nous pouvons utiliser la fonction ParseInt() du package strconv L'exemple est le suivant :

binStr := "101101"
dec, err := strconv.ParseInt(binStr, 2, 64)
if err != nil {
    // 错误处理
}
fmt.Println(dec) // 输出45

Parmi eux, le premier. Le paramètre est la chaîne binaire à analyser, le deuxième paramètre est un nombre de base, ici il est 2, et le dernier paramètre est le nombre de chiffres du type int64 converti.

De même, si nous voulons convertir un nombre décimal en chaîne binaire, nous pouvons utiliser la fonction FormatInt() dans le package strconv L'exemple est le suivant :

dec := 45
binStr := strconv.FormatInt(int64(dec), 2)
fmt.Println(binStr) // 输出"101101"

Parmi eux, le premier paramètre est le nombre décimal à utiliser. être formaté, et le deuxième paramètre est le nombre décimal à formater. Le premier paramètre est un nombre de base, ici c'est 2.

  1. Conversion de nombres binaires et de nombres hexadécimaux

Pour convertir des nombres binaires et des nombres hexadécimaux entre eux, vous pouvez également utiliser la fonction du package strconv. Il vous suffit de modifier les paramètres du numéro de base en nombres de base correspondants. C'est ça.

Par exemple, si nous voulons convertir un nombre hexadécimal en chaîne binaire, nous pouvons utiliser la fonction FormatInt() dans le package strconv L'exemple est le suivant :

hexStr := "1A3"
dec, err := strconv.ParseInt(hexStr, 16, 64)
if err != nil {
    // 错误处理
}
binStr := strconv.FormatInt(dec, 2)
fmt.Println(binStr) // 输出"110100011"

Parmi eux, le premier paramètre est l'hexadécimal à. être analysé Chaîne système, le deuxième paramètre est un nombre de base, ici il est 16. De même, si nous voulons convertir une chaîne binaire en chaîne hexadécimale, il suffit de modifier les paramètres du numéro de base correspondant en 2 et 16.

  1. Opérations sur les bits

Dans le traitement des données binaires, les opérations sur les bits sont souvent une partie essentielle. Golang fournit également un grand nombre d'opérateurs et de fonctions pour les opérations sur les bits.

Par exemple, si nous voulons définir le nième bit d'un nombre binaire sur 1, nous pouvons utiliser l'opérateur de décalage vers la gauche "<<" et l'opérateur bit à bit "|", l'exemple est le suivant :

num := 0b01011 // 这里的0b表示二进制数

n := 2 // 设置第3位为1
num |= 1 << n
fmt.Printf("%b", num) // 输出"1011"

Parmi eux, "|=" représente l'abréviation de l'opérateur OU au niveau du bit. Sa fonction est d'effectuer une opération OU au niveau du bit sur les nombres à gauche et à droite puis d'attribuer la valeur à la variable de gauche.

Résumé

Ci-dessus sont plusieurs techniques Golang courantes pour le traitement des données binaires et hexadécimales. Elles peuvent nous aider à être plus à l'aise lors du traitement des données binaires. Bien sûr, ce ne sont que des techniques d'entrée de gamme. Si vous souhaitez en savoir plus sur la façon de jouer aux nombres binaires, il est recommandé de lire des documents plus pertinents et de les pratiquer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn