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.
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!