math包總結(jié)

開發(fā)中使用中使用到了math這個(gè)包,總結(jié)一下math包的主要方法與功能。

func Float32bits

func Float32bits(f float32) uint32

函數(shù)返回浮點(diǎn)數(shù)f的IEEE 754格式二進(jìn)制表示對(duì)應(yīng)的4字節(jié)無(wú)符號(hào)整數(shù)。

func Float32frombits

func Float32frombits(b uint32) float32

函數(shù)返回?zé)o符號(hào)整數(shù)b對(duì)應(yīng)的IEEE 754格式二進(jìn)制表示的4字節(jié)浮點(diǎn)數(shù)。

func Float64bits

func Float64bits(f float64) uint64

函數(shù)返回浮點(diǎn)數(shù)f的IEEE 754格式二進(jìn)制表示對(duì)應(yīng)的8字節(jié)無(wú)符號(hào)整數(shù)。

func Float64frombits

func Float64frombits(b uint64) float64

函數(shù)返回?zé)o符號(hào)整數(shù)b對(duì)應(yīng)的IEEE 754格式二進(jìn)制表示的8字節(jié)浮點(diǎn)數(shù)。

func Ceil

func Ceil(x float64) float64

返回不小于x的最小整數(shù)(的浮點(diǎn)值),特例如下:

Ceil(±0) = ±0
Ceil(±Inf) = ±Inf
Ceil(NaN) = NaN

func Floor

func Floor(x float64) float64

返回不大于x的最小整數(shù)(的浮點(diǎn)值),特例如下:

Floor(±0) = ±0
Floor(±Inf) = ±Inf
Floor(NaN) = NaN

func Trunc

func Trunc(x float64) float64

返回x的整數(shù)部分(的浮點(diǎn)值)。特例如下:

Trunc(±0) = ±0
Trunc(±Inf) = ±Inf
Trunc(NaN) = NaN

func Modf

func Modf(f float64) (int float64, frac float64)

返回f的整數(shù)部分和小數(shù)部分,結(jié)果的正負(fù)號(hào)和都x相同;特例如下:

Modf(±Inf) = ±Inf, NaN
Modf(NaN) = NaN, NaN

func Nextafter

func Nextafter(x, y float64) (r float64)

參數(shù)x到參數(shù)y的方向上,下一個(gè)可表示的數(shù)值;如果x==y將返回x。特例如下:

Nextafter(NaN, y) = NaN
Nextafter(x, NaN) = NaN

func Abs

func Abs(x float64) float64

返回x的絕對(duì)值;特例如下:

Abs(±Inf) = +Inf
Abs(NaN) = NaN

func Max

func Max(x, y float64) float64

返回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) = -0

func Min

func Min(x, y float64) float64

返回x和y中最小值,特例如下:

Min(x, -Inf) = Min(-Inf, x) = -Inf
Min(x, NaN) = Min(NaN, x) = NaN
Min(-0, ±0) = Min(±0, -0) = -0

func Dim

func Dim(x, y float64) float64

函數(shù)返回x-y和0中的最大值,特殊情況:

Dim(+Inf, +Inf) = NaN
Dim(-Inf, -Inf) = NaN
Dim(x, NaN) = Dim(NaN, x) = NaN

func Mod

func Mod(x, y float64) float64

取余運(yùn)算,可以理解為 x-Trunc(x/y)*y,結(jié)果的正負(fù)號(hào)和x相同;特例如下:

Mod(±Inf, y) = NaN
Mod(NaN, y) = NaN
Mod(x, 0) = NaN
Mod(x, ±Inf) = x
Mod(x, NaN) = NaN

func Remainder

func Remainder(x, y float64) float64

IEEE 754差數(shù)求值,即x減去最接近x/y的整數(shù)值(如果有兩個(gè)整數(shù)與x/y距離相同,則取其中的偶數(shù))與y的乘積。特例如下:

Remainder(±Inf, y) = NaN
Remainder(NaN, y) = NaN
Remainder(x, 0) = NaN
Remainder(x, ±Inf) = x
Remainder(x, NaN) = NaN

func Sqrt

func Sqrt(x float64) float64

返回x的二次方根,特例如下:

Sqrt(+Inf) = +Inf
Sqrt(±0) = ±0
Sqrt(x < 0) = NaN
Sqrt(NaN) = NaN

func Cbrt

func Cbrt(x float64) float64

返回x的三次方根,特例如下:

Cbrt(±0) = ±0
Cbrt(±Inf) = ±Inf
Cbrt(NaN) = NaN

func Hypot

func Hypot(p, q float64) float64

返回Sqrt(pp + qq),注意要避免不必要的溢出或下溢。特例如下:

Hypot(±Inf, q) = +Inf
Hypot(p, ±Inf) = +Inf
Hypot(NaN, q) = NaN
Hypot(p, NaN) = NaN

func Sin

func Sin(x float64) float64

求正弦。特例如下:

Sin(±0) = ±0
Sin(±Inf) = NaN
Sin(NaN) = NaN

func Cos

func Cos(x float64) float64

求余弦。特例如下:

Cos(±Inf) = NaN
Cos(NaN) = NaN

func Tan

func Tan(x float64) float64

求正切。特例如下:

Tan(±0) = ±0
Tan(±Inf) = NaN
Tan(NaN) = NaN

func Sincos

func Sincos(x float64) (sin, cos float64)

函數(shù)返回Sin(x), Cos(x)。特例如下:

Sincos(±0) = ±0, 1
Sincos(±Inf) = NaN, NaN
Sincos(NaN) = NaN, NaN

func Asin

func Asin(x float64) float64

求反正弦(x是弧度)。特例如下:

Asin(±0) = ±0
Asin(x) = NaN if x < -1 or x > 1

func Acos

func Acos(x float64) float64

求反余弦(x是弧度)。特例如下:

Acos(x) = NaN if x < -1 or x > 1

func Atan

func Atan(x float64) float64

求反正切(x是弧度)。特例如下:

Atan(±0) = ±0
Atan(±Inf) = ±Pi/2

func Atan2

func Atan2(y, x float64) float64

類似Atan(y/x),但會(huì)根據(jù)x,y的正負(fù)號(hào)確定象限。特例如下(前面的優(yōu)先):

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/2

func Sinh

func Sinh(x float64) float64

求雙曲正弦,特例如下:

Sinh(±0) = ±0
Sinh(±Inf) = ±Inf
Sinh(NaN) = NaN

func Cosh

func Cosh(x float64) float64

求雙曲余弦,特例如下:

Cosh(±0) = 1
Cosh(±Inf) = +Inf
Cosh(NaN) = NaN

func Tanh

func Tanh(x float64) float64

求雙曲正切,特例如下:

Tanh(±0) = ±0
Tanh(±Inf) = ±1
Tanh(NaN) = NaN

func Asinh

func Asinh(x float64) float64

求反雙曲正弦,特例如下:

Asinh(±0) = ±0
Asinh(±Inf) = ±Inf
Asinh(NaN) = NaN

func Acosh

func Acosh(x float64) float64

求反雙曲余弦,特例如下:

Acosh(+Inf) = +Inf
Acosh(x) = NaN if x < 1
Acosh(NaN) = NaN

func Atanh

func Atanh(x float64) float64

求反雙曲正切,特例如下:

Atanh(1) = +Inf
Atanh(±0) = ±0
Atanh(-1) = -Inf
Atanh(x) = NaN if x < -1 or x > 1
Atanh(NaN) = NaN

func Log

func Log(x float64) float64

求自然對(duì)數(shù),特例如下:

Log(+Inf) = +Inf
Log(0) = -Inf
Log(x < 0) = NaN
Log(NaN) = NaN

func Log1p

func Log1p(x float64) float64

等價(jià)于Log(1+x)。但是在x接近0時(shí),本函數(shù)更加精確;特例如下:

Log1p(+Inf) = +Inf
Log1p(±0) = ±0
Log1p(-1) = -Inf
Log1p(x < -1) = NaN
Log1p(NaN) = NaN

func Log2

func Log2(x float64) float64

求2為底的對(duì)數(shù);特例和Log相同。

func Log10

func Log10(x float64) float64

求10為底的對(duì)數(shù);特例和Log相同。

func Logb

func Logb(x float64) float64

返回x的二進(jìn)制指數(shù)值,可以理解為Trunc(Log2(x));特例如下:

Logb(±Inf) = +Inf
Logb(0) = -Inf
Logb(NaN) = NaN

參考:GO標(biāo)準(zhǔn)庫(kù)中文文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容