函数

func abs(BigInt)

public func abs(i: BigInt): BigInt

功能:求一个 BigInt 的绝对值。

参数:

返回值:

示例:

import std.math.numeric.*

main() {
    let n: BigInt = BigInt(-23)
    let abs = abs(n)
    println(abs)
}

运行结果:

23

func abs(Decimal)

public func abs(d: Decimal): Decimal

功能:求一个 Decimal 的绝对值。

参数:

返回值:

示例:

import std.math.numeric.*

main() {
    let d: Decimal = Decimal("-1.23")
    let abs = abs(d)
    println(abs)
}

运行结果:

1.23

func countOne(BigInt)

public func countOne(i: BigInt): Int64

功能:计算并返回入参 BigInt 的二进制补码中 1 的个数。

参数:

  • i: BigInt - 需要计算二进制补码中 1 的个数的 BigInt

返回值:

  • Int64 - 返回入参 BigInt 的二进制补码中 1 的个数。

示例:

import std.math.numeric.*

main() {
    let i: BigInt = BigInt(255)
    let countOne = countOne(i)
    println(countOne)
}

运行结果:

8

func gcd(BigInt, BigInt)

public func gcd(i1: BigInt, i2: BigInt): BigInt

功能:求两个 BigInt 的最大公约数。总是返回非负数(相当于绝对值的最大公约数)。

参数:

  • i1: BigInt - 需要计算最大公约数的第一个入参。
  • i2: BigInt - 需要计算最大公约数的第二个入参。

返回值:

  • BigInt - 返回 i1i2 的最大公约数,总是返回非负数。

示例:

import std.math.numeric.*

main() {
    let i1: BigInt = BigInt(-36)
    let i2: BigInt = BigInt(48)
    let gcd = gcd(i1, i2)
    println(gcd)
}

运行结果:

12

func lcm(BigInt, BigInt)

public func lcm(i1: BigInt, i2: BigInt): BigInt

功能:求两个 BigInt 的的最小公倍数。除了入参有 0 时返回 0 外,总是返回正数(相当于绝对值的最小公倍数)。

参数:

  • i1: BigInt - 需要计算最小公倍数的第一个入参。
  • i2: BigInt - 需要计算最小公倍数的第二个入参。

返回值:

  • BigInt - 返回 i1i2 的最小公倍数,当入参有 0 时返回 0,其余情况返回正数。

示例:

import std.math.numeric.*

main() {
    let i1: BigInt = BigInt(-36)
    let i2: BigInt = BigInt(48)
    let lcm = lcm(i1, i2)
    println(lcm)
}

运行结果:

144

func round(Decimal, RoundingMode)

public func round(d: Decimal, roundingMode!: RoundingMode = RoundingMode.HALF_EVEN): Decimal

功能:计算 Decimal 的舍入值,根据舍入方式向邻近的整数舍入。

参数:

返回值:

异常:

func sqrt(BigInt)

public func sqrt(i: BigInt): BigInt

功能:求 BigInt 的算术平方根,向下取整。

参数:

  • i: BigInt - 需要计算算术平方根的 BigInt,入参需要非负。

返回值:

  • BigInt - 返回入参 BigInt 的算术平方根,向下取整。

异常:

示例:

import std.math.numeric.*

main() {
    let n: BigInt = BigInt(23)
    let sqrt = sqrt(n)
    println(sqrt)
}

运行结果:

4

func sqrt(Decimal)

public func sqrt(d: Decimal): Decimal

功能:求 Decimal 的算术平方根。结果为无限小数场景时,默认采用 IEEE 754-2019 decimal128 对结果进行舍入。

参数:

  • d: Decimal - 需要计算算术平方根的 Decimal,入参需要非负。

返回值:

异常:

示例:

import std.math.numeric.*

main() {
    let n: Decimal = Decimal("36")
    let sqrt = sqrt(n)
    println(sqrt)
}

运行结果:

6