Метод big.Int.Div
Метод big.Int.Div выполняет целочисленное деление двух больших чисел
типа big.Int. В первый параметр передается делимое (делимое),
во второй параметр — делитель. Метод возвращает результат деления
(частное), округленное в сторону нуля. Важно: метод изменяет
приемник (тот, на котором вызывается) и сохраняет в него результат.
Синтаксис
func (z *big.Int) Div(x, y *big.Int) *big.Int
Пример с целочисленным делением
Выполним деление числа 100 на 3:
package main
import (
"fmt"
"math/big"
)
func main() {
x := big.NewInt(100)
y := big.NewInt(3)
z := new(big.Int)
res := z.Div(x, y)
fmt.Println(res)
}
Результат выполнения кода:
33
Пример с отрицательными числами
Деление с отрицательным делимым:
package main
import (
"fmt"
"math/big"
)
func main() {
x := big.NewInt(-100)
y := big.NewInt(3)
z := new(big.Int)
res := z.Div(x, y)
fmt.Println(res)
}
Результат выполнения кода:
-33
Пример с большими числами
Деление больших чисел, выходящих за пределы 64-битного диапазона:
package main
import (
"fmt"
"math/big"
)
func main() {
x := new(big.Int)
y := new(big.Int)
z := new(big.Int)
// 2^100
x.Exp(big.NewInt(2), big.NewInt(100), nil)
// 2^50
y.Exp(big.NewInt(2), big.NewInt(50), nil)
res := z.Div(x, y)
fmt.Println(res)
}
Результат выполнения кода:
1125899906842624
Смотрите также
-
функцию
big.Int.Add,
которая выполняет сложение больших чисел -
функцию
big.Int.Sub,
которая выполняет вычитание больших чисел -
функцию
big.Int.Mul,
которая выполняет умножение больших чисел -
функцию
big.Int.Mod,
которая вычисляет остаток от деления больших чисел