math
import "math"
- 概述
- 索引
- 示例
- 子目录
概述
math 包提供了基本的常量和数学函数。
软件包不保证跨体系结构的位相同结果。
索引
- 常量
- func Abs(x float64) float64
- func Acos(x float64) float64
- func Acosh(x float64) float64
- func Asin(x float64) float64
- func Asinh(x float64) float64
- func Atan(x float64) float64
- func Atan2(y, x float64) float64
- func Atanh(x float64) float64
- func Cbrt(x float64) float64
- func Ceil(x float64) float64
- func Copysign(x, y float64) float64
- func Cos(x float64) float64
- func Cosh(x float64) float64
- func Dim(x, y float64) float64
- func Erf(x float64) float64
- func Erfc(x float64) float64
- func Exp(x float64) float64
- func Exp2(x float64) float64
- func Expm1(x float64) float64
- func Float32bits(f float32) uint32
- func Float32frombits(b uint32) float32
- func Float64bits(f float64) uint64
- func Float64frombits(b uint64) float64
- func Floor(x float64) float64
- func Frexp(f float64) (frac float64, exp int)
- func Gamma(x float64) float64
- func Hypot(p, q float64) float64
- func Ilogb(x float64) int
- func Inf(sign int) float64
- func IsInf(f float64, sign int) bool
- func IsNaN(f float64) (is bool)
- func J0(x float64) float64
- func J1(x float64) float64
- func Jn(n int, x float64) float64
- func Ldexp(frac float64, exp int) float64
- func Lgamma(x float64) (lgamma float64, sign int)
- func Log(x float64) float64
- func Log10(x float64) float64
- func Log1p(x float64) float64
- func Log2(x float64) float64
- func Logb(x float64) float64
- func Max(x, y float64) float64
- func Min(x, y float64) float64
- func Mod(x, y float64) float64
- func Modf(f float64) (int float64, frac float64)
- func NaN() float64
- func Nextafter(x, y float64) (r float64)
- func Nextafter32(x, y float32) (r float32)
- func Pow(x, y float64) float64
- func Pow10(n int) float64
- func Remainder(x, y float64) float64
- func Signbit(x float64) bool
- func Sin(x float64) float64
- func Sincos(x float64) (sin, cos float64)
- func Sinh(x float64) float64
- func Sqrt(x float64) float64
- func Tan(x float64) float64
- func Tanh(x float64) float64
- func Trunc(x float64) float64
- func Y0(x float64) float64
- func Y1(x float64) float64
- func Yn(n int, x float64) float64
示例
Sqrt
文件包
abs.go acosh.go asin.go asinh.go atan.go atan2.go atanh.go bits.go cbrt.go const.go copysign.go dim.go erf.go exp.go expm1.go floor.go floor_asm.go frexp.go gamma.go hypot.go j0.go j1.go jn.go ldexp.go lgamma.go log.go log10.go log1p.go logb.go mod.go modf.go nextafter.go pow.go pow10.go remainder.go signbit.go sin.go sincos.go sinh.go sqrt.go tan.go tanh.go unsafe.go
常量
数学常数。
const (
E = 2.71828182845904523536028747135266249775724709369995957496696763 // http://oeis.org/A001113
Pi = 3.14159265358979323846264338327950288419716939937510582097494459 // http://oeis.org/A000796
Phi = 1.61803398874989484820458683436563811772030917980576286213544862 // http://oeis.org/A001622
Sqrt2 = 1.41421356237309504880168872420969807856967187537694807317667974 // http://oeis.org/A002193
SqrtE = 1.64872127070012814684865078781416357165377610071014801157507931 // http://oeis.org/A019774
SqrtPi = 1.77245385090551602729816748334114518279754945612238712821380779 // http://oeis.org/A002161
SqrtPhi = 1.27201964951406896425242246173749149171560804184009624861664038 // http://oeis.org/A139339
Ln2 = 0.693147180559945309417232121458176568075500134360255254120680009 // http://oeis.org/A002162
Log2E = 1 / Ln2
Ln10 = 2.30258509299404568401799145468436420760110148862877297603332790 // http://oeis.org/A002392
Log10E = 1 / Ln10
)浮点限制值。最大值是该类型可表示的最大有限值。SmallestNonzero 是类型可表示的最小正值,非零值。
const (
MaxFloat32 = 3.40282346638528859811704183484516925440e+38 // 2**127 * (2**24 - 1) / 2**23
SmallestNonzeroFloat32 = 1.401298464324817070923729583289916131280e-45 // 1 / 2**(127 - 1 + 23)
MaxFloat64 = 1.797693134862315708145274237317043567981e+308 // 2**1023 * (2**53 - 1) / 2**52
SmallestNonzeroFloat64 = 4.940656458412465441765687928682213723651e-324 // 1 / 2**(1023 - 1 + 52)
)整数限制值。
const (
MaxInt8 = 1<<7 - 1
MinInt8 = -1 << 7
MaxInt16 = 1<<15 - 1
MinInt16 = -1 << 15
MaxInt32 = 1<<31 - 1
MinInt32 = -1 << 31
MaxInt64 = 1<<63 - 1
MinInt64 = -1 << 63
MaxUint8 = 1<<8 - 1
MaxUint16 = 1<<16 - 1
MaxUint32 = 1<<32 - 1
MaxUint64 = 1<<64 - 1
)func Abs(显示源文件)
func Abs(x float64) float64Abs 返回x的绝对值。
特殊情况是:
Abs(±Inf) = +Inf
Abs(NaN) = NaNfunc Acos(显示源文件)
func Acos(x float64) float64Acos 返回x的弧度,弧度。
特例是:
Acos(x) = NaN if x < -1 or x > 1func Acosh(显示源文件)
func Acosh(x float64) float64Acosh 返回x的反双曲余弦。
特殊情况是:
Acosh(+Inf) = +Inf
Acosh(x) = NaN if x < 1
Acosh(NaN) = NaNfunc Asin(显示源文件)
func Asin(x float64) float64Asin返回x的弧度,以弧度表示。
特殊情况是:
Asin(±0) = ±0
Asin(x) = NaN if x < -1 or x > 1func Asinh(显示源文件)
func Asinh(x float64) float64Asinh返回x的反双曲正弦。
特殊情况是:
Asinh(±0) = ±0
Asinh(±Inf) = ±Inf
Asinh(NaN) = NaNfunc Atan(显示源文件)
func Atan(x float64) float64Atan以弧度返回x的反正切。
特殊情况是:
Atan(±0) = ±0
Atan(±Inf) = ±Pi/2func Atan2(显示源文件)
func Atan2(y, x float64) float64Atan2返回 y/x 的反正切,使用两者的符号来确定返回值的象限。
特殊情况是(按顺序):
Atan2(y, NaN) = NaN
Atan2(NaN, x) = NaN
Atan2(+0, x>=0) = +0
Atan2(-0, x>=0) = -0
Atan2(+0, x<=-0) = +Pi
Atan2(-0, x<=-0) = -Pi
Atan2(y>0, 0) = +Pi/2
Atan2(y<0, 0) = -Pi/2
Atan2(+Inf, +Inf) = +Pi/4
Atan2(-Inf, +Inf) = -Pi/4
Atan2(+Inf, -Inf) = 3Pi/4
Atan2(-Inf, -Inf) = -3Pi/4
Atan2(y, +Inf) = 0
Atan2(y>0, -Inf) = +Pi
Atan2(y<0, -Inf) = -Pi
Atan2(+Inf, x) = +Pi/2
Atan2(-Inf, x) = -Pi/2func Atanh(显示源文件)
func Atanh(x float64) float64Atanh返回x的反双曲正切。
特殊情况是:
Atanh(1) = +Inf
Atanh(±0) = ±0
Atanh(-1) = -Inf
Atanh(x) = NaN if x < -1 or x > 1
Atanh(NaN) = NaNfunc Cbrt(显示源文件)
func Cbrt(x float64) float64Cbrt返回x的立方根。
特殊情况是:
Cbrt(±0) = ±0
Cbrt(±Inf) = ±Inf
Cbrt(NaN) = NaNfunc Ceil(显示源文件)
func Ceil(x float64) float64Ceil返回大于或等于x的最小整数值。
特殊情况是:
Ceil(±0) = ±0
Ceil(±Inf) = ±Inf
Ceil(NaN) = NaNfunc Copysign(显示源文件)
func Copysign(x, y float64) float64Copysign 返回值为x的大小和y的符号。
func Cos(显示源文件)
func Cos(x float64) float64Cos返回弧度参数x的余弦。
特殊情况是:
Cos(±Inf) = NaN
Cos(NaN) = NaNfunc Cosh(显示源文件)
func Cosh(x float64) float64Cosh返回x的双曲余弦。
特殊情况是:
Cosh(±0) = 1
Cosh(±Inf) = +Inf
Cosh(NaN) = NaNfunc Dim(显示源文件)
func Dim(x, y float64) float64Dim返回xy或0的最大值。
特殊情况是:
Dim(+Inf, +Inf) = NaN
Dim(-Inf, -Inf) = NaN
Dim(x, NaN) = Dim(NaN, x) = NaNfunc Erf(显示源文件)
func Erf(x float64) float64Erf返回x的错误函数。
特殊情况是:
Erf(+Inf) = 1
Erf(-Inf) = -1
Erf(NaN) = NaNfunc Erfc(显示源文件)
func Erfc(x float64) float64Erfc返回x的互补误差函数。
特殊情况是:
Erfc(+Inf) = 0
Erfc(-Inf) = 2
Erfc(NaN) = NaNfunc Exp(显示源文件)
func Exp(x float64) float64Exp返回e ** x,即x的基数e指数。
特殊情况是:
Exp(+Inf) = +Inf
Exp(NaN) = NaN非常大的值溢出到0或+ Inf。非常小的值下溢到1。
func Exp2(显示源文件)
func Exp2(x float64) float64Exp2返回2 ** x,x的基数为2的指数。
特殊情况与Exp相同。
func Expm1(显示源文件)
func Expm1(x float64) float64Expm1返回e ** x - 1,即x减1的基e指数。当x接近零时,它比Exp(x) - 1更准确。
特殊情况是:
Expm1(+Inf) = +Inf
Expm1(-Inf) = -1
Expm1(NaN) = NaN非常大的值溢出到-1或+ Inf。
func Float32bits(显示源文件)
func Float32bits(f float32) uint32Float32bits返回f的IEEE 754二进制表示。
func Float32frombits(显示源文件)
func Float32frombits(b uint32) float32Float32frombits返回对应于IEEE 754二进制表示b的浮点数。
func Float64bits(显示源文件)
func Float64bits(f float64) uint64Float64bits返回f的IEEE 754二进制表示。
func Float64frombits(显示源文件)
func Float64frombits(b uint64) float64Float64frombits返回对应于IEEE 754二进制表示的浮点数b。
func Floor(显示源文件)
func Floor(x float64) float64Floor返回小于或等于x的最大整数值。
特殊情况是:
Floor(±0) = ±0
Floor(±Inf) = ±Inf
Floor(NaN) = NaNfunc Frexp(显示源文件)
func Frexp(f float64) (frac float64, exp int)Frexp将f分解为归一化分数和两个整数幂。它返回满足f == frac×2 ** exp的frac和exp,并且在区间[½,1)中具有frac的绝对值。
特殊情况是:
Frexp(±0) = ±0, 0
Frexp(±Inf) = ±Inf, 0
Frexp(NaN) = NaN, 0func Gamma(显示源文件)
func Gamma(x float64) float64Gamma返回x的Gamma函数。
特殊情况是:
Gamma(+Inf) = +Inf
Gamma(+0) = +Inf
Gamma(-0) = -Inf
Gamma(x) = NaN for integer x < 0
Gamma(-Inf) = NaN
Gamma(NaN) = NaNfunc Hypot(显示源文件)
func Hypot(p, q float64) float64Hypot返回Sqrt(p * p + q * q),注意避免不必要的溢出和下溢。
特殊情况是:
Hypot(±Inf, q) = +Inf
Hypot(p, ±Inf) = +Inf
Hypot(NaN, q) = NaN
Hypot(p, NaN) = NaNfunc Ilogb(显示源文件)
func Ilogb(x float64) intIlogb以整数形式返回x的二进制指数。
特殊情况是:
Ilogb(±Inf) = MaxInt32
Ilogb(0) = MinInt32
Ilogb(NaN) = MaxInt32func Inf(显示源文件)
func Inf(sign int) float64如果符号> = 0,则Inf返回正无穷大;如果符号<0,则返回负无穷大。
func IsInf(显示源文件)
func IsInf(f float64, sign int) bool根据符号,IsInf报告f是否是无穷大。如果符号> 0,则IsInf报告f是否为正无穷。如果符号<0,则IsInf报告f是否为负无穷。如果符号== 0,则IsInf报告f是无穷大。
func IsNaN(显示源文件)
func IsNaN(f float64) (is bool)IsNaN报告f是否是IEEE 754“非数字”值。
func J0(显示源文件)
func J0(x float64) float64J0返回第一类的零阶Bessel函数。
特殊情况是:
J0(±Inf) = 0
J0(0) = 1
J0(NaN) = NaNfunc J1(显示源文件)
func J1(x float64) float64J1返回第一类的一阶贝塞尔函数。
特殊情况是:
J1(±Inf) = 0
J1(NaN) = NaNfunc Jn(显示源文件)
func Jn(n int, x float64) float64Jn返回第一类的n阶Bessel函数。
特殊情况是:
Jn(n, ±Inf) = 0
Jn(n, NaN) = NaNfunc Ldexp(显示源文件)
func Ldexp(frac float64, exp int) float64Ldexp 与 Frexp 相反。它返回 frac ×2 ** exp。
特殊情况是:
Ldexp(±0, exp) = ±0
Ldexp(±Inf, exp) = ±Inf
Ldexp(NaN, exp) = NaNfunc Lgamma(显示源文件)
func Lgamma(x float64) (lgamma float64, sign int)Lgamma返回Gamma(x)的自然对数和符号(-1或+1)。
特殊情况是:
Lgamma(+Inf) = +Inf
Lgamma(0) = +Inf
Lgamma(-integer) = +Inf
Lgamma(-Inf) = -Inf
Lgamma(NaN) = NaNfunc Log(显示源文件)
func Log(x float64) float64Log返回x的自然对数。
特殊情况是:
Log(+Inf) = +Inf
Log(0) = -Inf
Log(x < 0) = NaN
Log(NaN) = NaNfunc Log10(显示源文件)
func Log10(x float64) float64Log10返回x的小数对数。特殊情况与Log相同。
func Log1p(显示源文件)
func Log1p(x float64) float64Log1p返回自然对数1加上其参数x。当x接近零时,它比Log(1 + x)更准确。
特殊情况是:
Log1p(+Inf) = +Inf
Log1p(±0) = ±0
Log1p(-1) = -Inf
Log1p(x < -1) = NaN
Log1p(NaN) = NaNfunc Log2(显示源文件)
func Log2(x float64) float64Log2返回x的二进制对数。特殊情况与Log相同。
func Logb(显示源文件)
func Logb(x float64) float64Logb返回x的二进制指数。
特殊情况是:
Logb(±Inf) = +Inf
Logb(0) = -Inf
Logb(NaN) = NaNfunc Max(显示源文件)
func Max(x, y float64) float64Max返回x或y中的较大值。
特殊情况是:
Max(x, +Inf) = Max(+Inf, x) = +Inf
Max(x, NaN) = Max(NaN, x) = NaN
Max(+0, ±0) = Max(±0, +0) = +0
Max(-0, -0) = -0func Min(显示源文件)
func Min(x, y float64) float64Min返回x或y中的较小者。
特殊情况是:
Min(x, -Inf) = Min(-Inf, x) = -Inf
Min(x, NaN) = Min(NaN, x) = NaN
Min(-0, ±0) = Min(±0, -0) = -0func Mod(显示源文件)
func Mod(x, y float64) float64Mod返回x / y的浮点余数。结果的幅度小于y,其符号与x的符号一致。
特殊情况是:
Mod(±Inf, y) = NaN
Mod(NaN, y) = NaN
Mod(x, 0) = NaN
Mod(x, ±Inf) = x
Mod(x, NaN) = NaNfunc Modf(显示源文件)
func Modf(f float64) (int float64, frac float64)Modf返回总和为f的整数和小数浮点数。这两个值都与f有相同的符号。
特殊情况是:
Modf(±Inf) = ±Inf, NaN
Modf(NaN) = NaN, NaNfunc NaN(显示源文件)
func NaN() float64NaN 返回 IEEE 754“not-a-number”值。
func Nextafter(显示源文件)
func Nextafter(x, y float64) (r float64)Nextafter 将x后的下一个可表示的 float64 值返回y。
特殊情况是:
Nextafter(x, x) = x
Nextafter(NaN, y) = NaN
Nextafter(x, NaN) = NaNfunc Nextafter32(显示源文件)
func Nextafter32(x, y float32) (r float32)Nextafter32 返回x向y后的下一个可表示的 float32 值。
特殊情况是:
Nextafter32(x, x) = x
Nextafter32(NaN, y) = NaN
Nextafter32(x, NaN) = NaNfunc Pow(显示源文件)
func Pow(x, y float64) float64Pow 返回x**y,y 的基 x 指数。
特殊情况是(按顺序):
Pow(x, ±0) = 1 for any x
Pow(1, y) = 1 for any y
Pow(x, 1) = x for any x
Pow(NaN, y) = NaN
Pow(x, NaN) = NaN
Pow(±0, y) = ±Inf for y an odd integer < 0
Pow(±0, -Inf) = +Inf
Pow(±0, +Inf) = +0
Pow(±0, y) = +Inf for finite y < 0 and not an odd integer
Pow(±0, y) = ±0 for y an odd integer > 0
Pow(±0, y) = +0 for finite y > 0 and not an odd integer
Pow(-1, ±Inf) = 1
Pow(x, +Inf) = +Inf for |x| > 1
Pow(x, -Inf) = +0 for |x| > 1
Pow(x, +Inf) = +0 for |x| < 1
Pow(x, -Inf) = +Inf for |x| < 1
Pow(+Inf, y) = +Inf for y > 0
Pow(+Inf, y) = +0 for y < 0
Pow(-Inf, y) = Pow(-0, -y)
Pow(x, y) = NaN for finite x < 0 and finite non-integer yfunc Pow10(显示源文件)
func Pow10(n int) float64Pow10 返回 10**n,即n的基数为10的指数。
特殊情况是:
Pow10(n) = 0 for n < -323
Pow10(n) = +Inf for n > 308func Remainder(显示源文件)
func Remainder(x, y float64) float64余数返回 x/y 的 IEEE 754 浮点余数。
特殊情况是:
Remainder(±Inf, y) = NaN
Remainder(NaN, y) = NaN
Remainder(x, 0) = NaN
Remainder(x, ±Inf) = x
Remainder(x, NaN) = NaNfunc Signbit(显示源文件)
func Signbit(x float64) bool如果x是负值或负值,则 Signbit 返回 true。
func Sin(显示源文件)
func Sin(x float64) float64Sin 返回弧度参数x的正弦值。
特殊情况是:
Sin(±0) = ±0
Sin(±Inf) = NaN
Sin(NaN) = NaNfunc Sincos(显示源文件)
func Sincos(x float64) (sin, cos float64)Sincos 返回Sin(x),Cos(x)。
特殊情况是:
Sincos(±0) = ±0, 1
Sincos(±Inf) = NaN, NaN
Sincos(NaN) = NaN, NaNfunc Sinh(显示源文件)
func Sinh(x float64) float64Sinh 返回x的双曲正弦。
特殊情况是:
Sinh(±0) = ±0
Sinh(±Inf) = ±Inf
Sinh(NaN) = NaNfunc Sqrt(显示源文件)
func Sqrt(x float64) float64Sqrt 返回x的平方根。
特殊情况是:
Sqrt(+Inf) = +Inf
Sqrt(±0) = ±0
Sqrt(x < 0) = NaN
Sqrt(NaN) = NaN示例
package main
import (
"fmt"
"math"
)
func main() {
const (
a = 3
b = 4
)
c := math.Sqrt(a*a + b*b)
fmt.Printf("%.1f", c)
}func Tan(显示源文件)
func Tan(x float64) float64Tan 返回弧度参数x的切线。
特殊情况是:
Tan(±0) = ±0
Tan(±Inf) = NaN
Tan(NaN) = NaNfunc Tanh(显示源文件)
func Tanh(x float64) float64Tanh 返回x的双曲正切。
特殊情况是:
Tanh(±0) = ±0
Tanh(±Inf) = ±1
Tanh(NaN) = NaNfunc Trunc(显示源文件)
func Trunc(x float64) float64Trunc 返回x的整数值。
特殊情况是:
Trunc(±0) = ±0
Trunc(±Inf) = ±Inf
Trunc(NaN) = NaNfunc Y0(显示源文件)
func Y0(x float64) float64Y0 返回第二类的零阶 Bessel 函数。
特殊情况是:
Y0(+Inf) = 0
Y0(0) = -Inf
Y0(x < 0) = NaN
Y0(NaN) = NaNfunc Y1(显示源文件)
func Y1(x float64) float64Y1返回第二类的一阶贝塞尔函数。
特殊情况是:
Y1(+Inf) = 0
Y1(0) = -Inf
Y1(x < 0) = NaN
Y1(NaN) = NaNfunc Yn(显示源文件)
func Yn(n int, x float64) float64Yn 返回第二类的n阶 Bessel 函数。
特殊情况是:
Yn(n, +Inf) = 0
Yn(n ≥ 0, 0) = -Inf
Yn(n < 0, 0) = +Inf if n is odd, -Inf if n is even
Yn(n, x < 0) = NaN
Yn(n, NaN) = NaN子目录
名称 | 概述 |
|---|---|
big | 包大实现了任意精度算术(big numbers)。 |
bits | 封装位为预先声明的无符号整数类型实现位计数和操作函数。 |
complx | Package cmplx为复数提供基本的常量和数学函数。 |
rand | 包rand执行伪随机数生成器。 |
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com

