Maison > Article > développement back-end > Comment convertir des chaînes hexadécimales en flottants IEEE-754 en Go ?
Conversion de l'hexadécimal en valeurs flottantes IEEE-754
Pour convertir des chaînes hexadécimales telles que "0xC40C5253" en valeurs flottantes IEEE-754, la norme strconv. La fonction ParseFloat n'est pas suffisante. Cet article explore des méthodes alternatives pour réaliser cette conversion.
Tout d'abord, déterminez la longueur en bits de l'entrée. Dans ce cas, avec 8 chiffres hexadécimaux, il s'agit probablement d'un flottant de 32 bits (bien qu'une confirmation de l'utilisateur soit recommandée).
Utilisation de strconv.ParseUint et d'une conversion non sécurisée :
Code :
s := "C40C5253" n, err := strconv.ParseUint(s, 16, 32) if err != nil { panic(err) } n2 := uint32(n) f := *(*float32)(unsafe.Pointer(&n2))
Utilisation alternative de math.Float32frombits :
Le package mathématique fournit une fonction intégrée Float32frombits() qui convertit directement un uint32 en un float32.
Code :
f := math.Float32frombits(n2)
Utilisation :
Avec l'une ou l'autre méthode, vous pouvez désormais accéder à la valeur float stocké dans f. Par exemple :
fmt.Println(f) // Output: -561.2863
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!