>백엔드 개발 >Golang >Go에서 `big.Int`를 사용하여 매우 큰 숫자를 어떻게 나눌 수 있나요?

Go에서 `big.Int`를 사용하여 매우 큰 숫자를 어떻게 나눌 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2024-10-28 02:34:30837검색

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

큰 정수를 사용하여 Go에서 큰 숫자 나누기

Go에서 매우 큰 숫자를 나누는 문제는 표준 정수 유형의 용량을 초과하는 값을 처리할 때 발생합니다. 이 경우 "math/big" 패키지의 big.Int 유형이 해결책을 제공합니다.

How to Divide Massive Numbers with big.Int

나누려면 big.Int를 사용하여 대규모 숫자를 사용하려면 다음 단계를 따르세요.

<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>

설명:

  1. "math/big" 패키지를 가져옵니다.
  2. 정수 범위에 대한 계승을 계산하는 MulRange를 사용하여 주어진 숫자로 두 개의 big.Int 변수(첫 번째 및 두 번째)를 초기화합니다.
  3. big.Int의 Div 메서드를 사용하여 첫 번째와 두 번째를 나누고, 결과를 dv 변수에 저장합니다.
  4. big.Int 값을 문자열로 변환하는 String 메서드를 사용하여 원래 숫자와 나눗셈 결과를 인쇄합니다.

출력 예 :

First: 30414093201713378043612608166064768844377641568960512000000000000
Second: 6402373705728000
Division result: 4750440164794325701367714688167999176704000000000

위 내용은 Go에서 `big.Int`를 사용하여 매우 큰 숫자를 어떻게 나눌 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.