"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment traiter les cordes hexadécimales plus grandes que INT64?

Comment traiter les cordes hexadécimales plus grandes que INT64?

Publié le 2025-02-06
Parcourir:770

How to Process Hexadecimal Strings Larger Than int64?

Comment gérer les chaînes hexadécimales extraordinairement grandes

lorsque vous travaillez avec des chaînes hexadécimales qui dépassent les limites de INT64, la solution appropriée consiste à utiliser la Package mathématique / grand. Ce package fournit des fonctionnalités pour gérer des nombres supérieurs à 64 bits.

Exemple:

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

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 la chaîne hexadécimale en un Big.int puis obtient sa représentation décimale à l'aide de la méthode float64. La valeur décimale est ensuite rassemblée en une chaîne JSON.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3