Метод big.Int.Sub
Метод Sub типа big.Int выполняет вычитание двух больших целых чисел.
В первый параметр передается уменьшаемое (левая часть вычитания),
во второй параметр - вычитаемое (правая часть).
Результат операции сохраняется в переменной, для которой вызывается метод,
и также возвращается как результат.
Метод позволяет работать с числами, выходящими за пределы стандартных типов,
таких как int64 или uint64.
Синтаксис
z.Sub(x, y)
Где z - приемник результата, x - уменьшаемое,
y - вычитаемое.
Пример
Давайте выполним вычитание двух больших чисел
9876543210 и 1234567890:
package main
import (
"fmt"
"math/big"
)
func main() {
x := big.NewInt(9876543210)
y := big.NewInt(1234567890)
z := new(big.Int)
z.Sub(x, y)
fmt.Println(z)
}
Результат выполнения кода:
8641975320
Пример
Метод Sub может использовать один и тот же объект
в качестве приемника и одного из операндов.
Давайте вычтем из числа само себя:
package main
import (
"fmt"
"math/big"
)
func main() {
x := big.NewInt(100)
x.Sub(x, x)
fmt.Println(x)
}
Результат выполнения кода:
0
Пример
Вычитание больших чисел с разными знаками. Вычтем отрицательное число из положительного:
package main
import (
"fmt"
"math/big"
)
func main() {
x := big.NewInt(50)
y := big.NewInt(-30)
z := new(big.Int)
z.Sub(x, y)
fmt.Println(z)
}
Результат выполнения кода:
80
Как видно, вычитание отрицательного числа равносильно сложению с положительным.
Смотрите также
-
метод
big.Int.Add,
который выполняет сложение больших целых чисел -
метод
big.Int.Mul,
который выполняет умножение больших целых чисел -
метод
big.Int.Div,
который выполняет деление больших целых чисел -
метод
big.Int.Mod,
который вычисляет остаток от деления больших целых чисел