Maison  >  Article  >  développement back-end  >  Comment puis-je diviser des nombres extrêmement grands en Go à l'aide de « big.Int » ?

Comment puis-je diviser des nombres extrêmement grands en Go à l'aide de « big.Int » ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-28 02:34:30722parcourir

How Can I Divide Extremely Large Numbers in Go Using `big.Int`?

Division de nombres massifs en Go à l'aide de grands entiers

Le problème de la division de nombres extrêmement grands en Go se pose lorsqu'il s'agit de valeurs qui dépassent la capacité des types entiers standard. Dans ce cas, le type big.Int du package "math/big" offre une solution.

Comment diviser des nombres massifs avec big.Int

Pour diviser nombres massifs en utilisant big.Int, suivez ces étapes :

<code class="go">package main

import (
    "fmt"
    "math/big"
)

func main() {
    // Initialize
    first := new(big.Int).MulRange(1, 50)
    second := new(big.Int).MulRange(1, 18)
    
    // Divide
    dv := new(big.Int).Div(first, second)
    
    // Print
    fmt.Printf("First: %s \n", first.String())
    fmt.Printf("Second: %s \n", second.String())
    fmt.Printf("Division result: %s \n", dv.String())
}</code>

Explication :

  1. Importez le package "math/big".
  2. Initialisez deux variables big.Int (première et seconde) avec les nombres donnés à l'aide de MulRange, qui calcule la factorielle pour une plage d'entiers.
  3. Utilisez la méthode Div de big.Int pour diviser premier par seconde, stocker le résultat dans la variable dv.
  4. Imprimez les nombres d'origine et le résultat de la division à l'aide de la méthode String, qui convertit les valeurs big.Int en chaînes.

Exemple de sortie :

First: 30414093201713378043612608166064768844377641568960512000000000000
Second: 6402373705728000
Division result: 4750440164794325701367714688167999176704000000000

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