Maison > développement back-end > Golang > Comment convertir une tranche d'octets en Float64 dans GoLang ?

Comment convertir une tranche d'octets en Float64 dans GoLang ?

Barbara Streisand
Libérer: 2024-11-10 15:19:02
original
198 Les gens l'ont consulté

How to Convert a Byte Slice to a Float64 in GoLang?

Conversion d'une tranche d'octets en Float64 dans GoLang

Dans GoLang, il peut être nécessaire de convertir une tranche d'octets, représentée par []uint8, dans un float64. Cependant, trouver une solution simple en ligne peut s’avérer difficile. Tenter de convertir la tranche d'octets en chaîne, puis en float64 peut entraîner une perte de données et des valeurs incorrectes.

Pour résoudre ce problème, les opérations binaires et les fonctions mathématiques fournissent une méthode efficace pour convertir les tranches d'octets en float64 :

package main

import (
    "encoding/binary"
    "fmt"
    "math"
)

// Convert []uint8 to float64
func Float64frombytes(bytes []byte) float64 {
    bits := binary.LittleEndian.Uint64(bytes)
    float := math.Float64frombits(bits)
    return float
}

// Convert float64 to []uint8
func Float64bytes(float float64) []byte {
    bits := math.Float64bits(float)
    bytes := make([]byte, 8)
    binary.LittleEndian.PutUint64(bytes, bits)
    return bytes
}

func main() {
    // Example: Converting math.Pi to byte slice and back to float64
    bytes := Float64bytes(math.Pi)
    fmt.Println(bytes)
    float := Float64frombytes(bytes)
    fmt.Println(float)
}
Copier après la connexion

Sortie :

[24 45 68 84 251 33 9 64]
3.141592653589793
Copier après la connexion

Cet extrait de code montre comment convertir une tranche d'octets en une float64 en utilisant le package binaire.LittleEndian et la fonction math.Float64frombits. À l'inverse, il montre également comment reconvertir un float64 en tranche d'octets à l'aide des fonctions math.Float64bits et binaire.LittleEndian.PutUint64.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal