Go语言math标准库

# math包

参考资料

常用函数

函数 功能 备注
NaN() float64 返回一个IEEE 754"这不是一个数字"值
IsNaN(f float64) (is bool) 报告f是否表示一个NaN(Not A Number)值
Inf(sign int) float64 如果sign>=0函数返回正无穷大,否则返回负无穷大
IsInf(f float64, sign int) bool 如果sign > 0,f是正无穷大时返回真;如果sign<0,f是负无穷大时返回真;sign==0则f是两种无穷大时都返回真。
Float32bits(f float32) uint32 返回浮点数f的IEEE 754格式二进制表示对应的4字节无符号整数
Float32frombits(b uint32) float32 数返回无符号整数b对应的IEEE 754格式二进制表示的4字节浮点数
Float64bits(f float64) uint64 返回浮点数f的IEEE 754格式二进制表示对应的8字节无符号整数
Float64frombits(b uint64) float64 返回无符号整数b对应的IEEE 754格式二进制表示的8字节浮点数
Signbit(x float64) bool 如果x是一个负数或者负零,返回真。
Copysign(x, y float64) float64 返回拥有x的量值(绝对值)和y的标志位(正负号)的浮点数。
Ceil(x float64) float64 返回不小于x的最小整数(的浮点值)
Floor(x float64) float64 返回不大于x的最大整数(的浮点值)
Trunc(x float64) float64 返回x的整数部分(的浮点值)。
Modf(f float64) (int float64, frac float64) 返回f的整数部分和小数部分,结果的正负号和都x相同
Nextafter(x, y float64) (r float64) 参数x到参数y的方向上,下一个可表示的数值
Abs(x float64) float64 返回x的绝对值
Max(x, y float64) float64 返回x和y中最大值
Min(x, y float64) float64 返回x和y中最小值
Dim(x, y float64) float64 函数返回x-y和0中的最大值
Mod(x, y float64) float64 取余运算,可以理解为 x-Trunc(x/y)*y,结果的正负号和x相同
Remainder(x, y float64) float64 IEEE 754差数求值,即x减去最接近x/y的整数值(如果有两个整数与x/y距离相同,则取其中的偶数)与y的乘积。
Sqrt(x float64) float64 返回x的二次方根
Cbrt(x float64) float64 返回x的三次方根
Hypot(p, q float64) float64 返回Sqrt(pp + qq),注意要避免不必要的溢出或下溢。
Sin(x float64) float64 正弦
Cos(x float64) float64 余弦
Tan(x float64) float64 正切
Sincos(x float64) (sin, cos float64) 返回Sin(x), Cos(x)。
Asin(x float64) float64 反正弦
Acos(x float64) float64 反余弦(x是弧度)
Atan(x float64) float64 反正切(x是弧度)。
Atan2(y, x float64) float64 类似Atan(y/x),但会根据x,y的正负号确定象限。
Sinh(x float64) float64 双曲正弦
Cosh(x float64) float64 双曲余弦
Tanh(x float64) float64 双曲正切
Asinh(x float64) float64 反双曲正弦
Acosh(x float64) float64 反双曲余弦
Atanh(x float64) float64 反双曲正切
Log(x float64) float64 求自然对数
Log1p(x float64) float64 等价于Log(1+x)。但是在x接近0时,本函数更加精确
Log2(x float64) float64 求2为底的对数
Log10(x float64) float64 求10为底的对数
Logb(x float64) float64 返回x的二进制指数值,可以理解为Trunc(Log2(x))
Ilogb(x float64) int 类似Logb,但返回值是整型
Frexp(f float64) (frac float64, exp int) 返回一个标准化小数frac和2的整型指数exp,满足f == frac * 2**exp,且0.5 <= Abs(frac) < 1
Ldexp(frac float64, exp int) float64 Frexp的反函数,返回 frac * 2**exp
Exp(x float64) float64 返回E**x
Expm1(x float64) float64 等价于Exp(x)-1,但是在x接近零时更精确;x绝对值很大时可能会溢出为-1或+Inf
Exp2(x float64) float64 返回2**x
Pow(x, y float64) float64 返回x**y
Pow10(e int) float64 返回10**e
Gamma(x float64) float64 伽玛函数(当x为正整数时,值为(x-1)!)
Lgamma(x float64) (lgamma float64, sign int) 返回Gamma(x)的自然对数和正负号
Erf(x float64) float64 误差函数
Erfc(x float64) float64 余补误差函数
J0(x float64) float64 第一类贝塞尔函数,0阶
J1(x float64) float64 第一类贝塞尔函数,1阶
Jn(n int, x float64) float64 第一类贝塞尔函数,n阶
Y0(x float64) float64 第二类贝塞尔函数,0阶
Y1(x float64) float64 第二类贝塞尔函数,1阶
Yn(n int, x float64) float64 第二类贝塞尔函数,n阶
相关推荐
平头哥AI20 小时前
Day 01 | go run 跑通第一个 Go 程序,go build 留下一个能拷走的 exe
开发语言·后端·golang
2601_9622965121 小时前
如何使用Golang包路径_管理本地和远程模块引用
golang·数据转换·变量定义·常用库·编程语言区别
FfHUCisI1 天前
GMP 调度器:Go 并发的心脏是如何跳动的
开发语言·golang·php
我不会起名字3221 天前
一天一道算法题(26):栈的简单应用
java·数据结构·python·算法·leetcode·golang·
gsls2008081 天前
告别 Vault 的复杂度:用 Go 标准库给 Windows 凭据管理器装上 MCP
windows·golang·mcp
名字还没想好☜1 天前
Go 时间格式化为什么用 2006-01-02:time.Format/Parse 的参考时间、时区与解析踩坑
开发语言·后端·golang·go
FfHUCisI2 天前
Golang Map 哈希表实现
golang·哈希算法·散列表
源代码•宸2 天前
前置准备:定时微服务背景和现状
开发语言·经验分享·后端·微服务·云原生·架构·golang
李燚2 天前
把规则搬回家:三个 BC 的贫血→充血重构实录(第103篇)
golang·agent·ddd·领域驱动设计·eino·deepflux·eino adk
astronautyi2 天前
Go 运行时内存分配与 GC 位图深度剖析
开发语言·后端·golang