Maison  >  Article  >  développement back-end  >  golang entier en tableau

golang entier en tableau

PHPz
PHPzoriginal
2023-05-10 17:29:37696parcourir

Pour les types de données entiers dans Golang, nous devons parfois convertir les données entières sous forme de tableau. Cette exigence se produit généralement lors de l'exécution d'opérations sur bits sur des données entières, telles que la division de données entières de 32 bits en quatre données de 8 bits ou la division de données entières de 64 bits en 8 éléments de données de 8 bits.

Alors, comment convertir des données entières sous forme de tableau ? Dans Golang, nous pouvons utiliser des opérations sur bits et des opérations de conversion de type pour atteindre cet objectif.

Prenons l'exemple de la division d'une donnée entière de 32 bits en quatre données de 8 bits à titre d'exemple.

Étape 1 : Définir les données entières

Nous devons d'abord définir des données entières de 32 bits, qui peuvent être créées à l'aide du type uint32 :

var num uint32 = 0x12345678

Étape 2 : Convertir les données entières en tableau d'octets

Deuxièmement, nous devons convertir ces données entières de 32 bits en un tableau d'octets d'une longueur de 4. Ce processus peut être réalisé en utilisant des opérations sur les bits :

bytes := make([]byte, 4)
bytes [0] = octet(num & 0xFF)
octets[1] = octet((num >> 8) & 0xFF)
octets[2] = octet((num >> 16) & 0xFF)
octets [3] = byte((num >> 24) & 0xFF)

Ici, nous retirons respectivement les 8 bits bas, les 8 bits moyens et les 8 bits hauts de num, puis les stockons respectivement dans le tableau d'octets.

Étape 3 : Imprimer le tableau d'octets

Enfin, nous pouvons imprimer le tableau d'octets et afficher le résultat de la conversion :

fmt.Println(bytes)

Le résultat de sortie est :

[120 86 52 18]

où, chaque nombre hexadécimal représente une donnée de 8 bits, à savoir :

120 -> 01111000
86 -> 01010110
52 -> , nous pouvons A Les données entières de 32 bits sont converties en quatre tableaux d'octets de 8 bits.

Bien sûr, pour les données entières avec d'autres chiffres et formats, vous pouvez apporter les modifications correspondantes en fonction de ce processus de base. Dans le même temps, il convient de noter que lors de l'exécution d'opérations sur les bits, nous devons utiliser une conversion de type forcée pour garantir la cohérence du type de données. Cela peut être fait à l'aide de la fonction de conversion de type intégrée de Golang.

En résumé, grâce aux opérations sur bits et aux opérations de conversion de type, nous pouvons facilement convertir des données entières sous forme de tableau pour répondre aux besoins de diverses opérations sur bits.

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
Article précédent:conversion big endian golangArticle suivant:conversion big endian golang