Maison >développement back-end >Golang >Comment traiter des chaînes hexadécimales supérieures à int64 ?

Comment traiter des chaînes hexadécimales supérieures à int64 ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-11 21:01:18120parcourir

How to Process Hexadecimal Strings Larger Than int64?

Comment gérer des chaînes hexadécimales extraordinairement volumineuses

Lorsque vous travaillez avec des chaînes hexadécimales qui dépassent les limites de int64, la solution appropriée consiste à utiliser le mathématiques/gros paquet. Ce package fournit des fonctionnalités pour traiter les nombres supérieurs à 64 bits.

Exemple :

Considérez la chaîne hexadécimale 0x000000d3c21bcecceda1000000.

package main

import (
    "encoding/json"
    "fmt"
    "math/big"
)

func main() {
    hexString := "0x000000d3c21bcecceda1000000"

    bigInt := big.NewInt(0)
    bigInt.SetString(hexString, 16)

    decimal, ok := bigInt.Float64()
    if !ok {
        // Handle error
    }

    fmt.Println(decimal)

    result, err := json.Marshal(decimal)
    if err != nil {
        // Handle error
    }

    fmt.Println(string(result))
}

Ce code utilise la méthode SetString pour convertir le chaîne hexadécimale dans un big.Int, puis obtient sa représentation décimale à l'aide de la méthode Float64. La valeur décimale est ensuite marshalée dans une chaîne JSON.

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