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