当前位置: 首页 > news >正文

做火情监控网站需要用什么系统湖南网络推广排名

做火情监控网站需要用什么系统,湖南网络推广排名,wordpress免费建站教程,建设公共网站的手续编程笔记 Golang基础 045 math包 一、math包主要功能常量:函数:数值运算:三角函数:对数函数:随机数相关: 二、示例代码一三、示例代码二小结 Go 语言的标准库 math 提供了一系列基础数学函数和常量&#xf…

编程笔记 Golang基础 045 math包

  • 一、math包
    • 主要功能
    • 常量:
    • 函数:
      • 数值运算:
      • 三角函数:
      • 对数函数:
      • 随机数相关:
  • 二、示例代码一
  • 三、示例代码二
  • 小结

Go 语言的标准库 math 提供了一系列基础数学函数和常量,用于进行科学计算、几何计算和其他数学相关的操作。以下是一些 math 包中的核心功能和函数。

一、math包

主要功能

Go 语言的标准库 math 包主要用于解决各种基础和高级数学运算问题,它提供了大量数学函数和常量,服务于编程中涉及的数学需求。math 包主要解决的问题包括但不限于以下几个方面:

  1. 三角函数计算

    • 正弦(Sin)、余弦(Cos)、正切(Tan)、反正弦(Asin)、反余弦(Acos)、反正切(Atan)以及相应的双曲函数。
  2. 指数和对数运算

    • 自然对数(Log,以 e 为底),常用对数(Log10,以 10 为底),指数函数(Exp),幂运算(Pow),以及针对特定场景优化的 Log1p(用于计算 log(1+x) 避免精度损失)。
  3. 超越函数

    • 幂运算(如平方根Sqrt)、伽马函数(Gamma)、误差函数(Erf)、互补误差函数(Erfc)以及其他特殊函数如 Bessel 函数(J0, J1 等)。
  4. 浮点数操作

    • 浮点数的绝对值(Abs)、取整(Floor, Ceil, Trunc)、四舍五入(Round)、分解为分数和指数形式(Frexp 和 Ldexp)、判断是否为无穷大或NaN(IsInf, IsNaN)以及处理浮点数边界问题(如最小非零正浮点数)。
  5. 几何计算

    • 求直角三角形边长关系(如 Hypot 函数计算欧几里得范数),以及模运算(Mod)。
  6. 数学常数

    • 提供了常用的数学常数,如圆周率 Pi 和自然对数的底数 e。
  7. 比较和取值限制

    • 提供了 Min 和 Max 函数来获取两个数之间的较大或较小值。

常量:

  • math.MaxFloat64math.SmallestNonzeroFloat64 分别表示 IEEE-754 浮点数的最大值和最小非零正值。
  • math.Pi 表示圆周率 π。
  • math.E 表示自然对数的底数 e。

示例代码

 fmt.Printf("float64的最大值是:%.f\n", math.MaxFloat64)fmt.Printf("float64的最小值是:%.f\n", math.SmallestNonzeroFloat64)fmt.Printf("float32的最大值是:%.f\n", math.MaxFloat32)fmt.Printf("float32的最小值是:%.f\n", math.SmallestNonzeroFloat32)fmt.Printf("Int8的最大值是:%d\n", math.MaxInt8)fmt.Printf("Int8的最小值是:%d\n", math.MinInt8)fmt.Printf("Uint8的最大值是:%d\n", math.MaxUint8)fmt.Printf("Int16的最大值是:%d\n", math.MaxInt16)fmt.Printf("Int16的最小值是:%d\n", math.MinInt16)fmt.Printf("Uint16的最大值是:%d\n", math.MaxUint16)fmt.Printf("Int32的最大值是:%d\n", math.MaxInt32)fmt.Printf("Int32的最小值是:%d\n", math.MinInt32)fmt.Printf("Uint32的最大值是:%d\n", math.MaxUint32)fmt.Printf("Int64的最大值是:%d\n", math.MaxInt64)fmt.Printf("Int64的最小值是:%d\n", math.MinInt64)fmt.Printf("圆周率默认为:%.200f\n", math.Pi)

运行结果

float64的最大值是:179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368
float64的最小值是:0
float32的最大值是:340282346638528859811704183484516925440
float32的最小值是:0
Int8的最大值是:127
Int8的最小值是:-128
Uint8的最大值是:255
Int16的最大值是:32767
Int16的最小值是:-32768
Uint16的最大值是:65535
Int32的最大值是:2147483647
Int32的最小值是:-2147483648
Uint32的最大值是:4294967295
Int64的最大值是:9223372036854775807
Int64的最小值是:-9223372036854775808
圆周率默认为:3.14159265358979311599796346854418516159057617187500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

函数:

数值运算:

  • math.Abs(x float64) float64 返回 x 的绝对值。
  • math.Ceil(x float64) float64 返回大于或等于 x 的最小整数。
  • math.Floor(x float64) float64 返回小于或等于 x 的最大整数。
  • math.Pow(x, y float64) float64 返回 xy 次方。
  • math.Sqrt(x float64) float64 返回 x 的平方根。
  • math.Cbrt(x float64) float64 返回 x 的立方根。

三角函数:

  • math.Sin(x float64) float64 返回 x 弧度的正弦值。
  • math.Cos(x float64) float64 返回 x 弧度的余弦值。
  • math.Tan(x float64) float64 返回 x 弧度的正切值。
  • 还有它们的反函数如 math.Asin, math.Acos, math.Atan,以及双角形式如 math.Sinh, math.Cosh, math.Tanh 等。

对数函数:

  • math.Log(x float64) float64 返回 x 的自然对数(以 e 为底)。
  • math.Log10(x float64) float64 返回 x 的以10为底的对数。
  • math.Exp(x float64) float64 返回 ex 次方。

随机数相关:

虽然 math 包本身不直接提供随机数生成器,但 math/rand 子包提供了生成伪随机数的功能:

  • rand.Intn(n int) int 返回一个在 [0, n) 范围内的随机整数。
  • rand.Float64() float64 返回 [0.0, 1.0) 范围内的随机浮点数。

要使用这些函数,你需要导入对应的包:

import ("fmt""math"
)func main() {// 示例用法val := math.Sin(math.Pi / 2)fmt.Println(val)
}

此外,math 包还包含其他高级数学函数,比如求最大公约数 (GCD)、最小二乘解 (Sqrt)、反正切函数的完整范围版本 (Atan2) 等。通过查阅官方文档可以获得更完整的函数列表和详细说明。

二、示例代码一

package mainimport ("fmt""math"
)func main() {/*取绝对值,函数签名如下:func Abs(x float64) float64*/fmt.Printf("[-3.14]的绝对值为:[%.2f]\n", math.Abs(-3.14))/*取x的y次方,函数签名如下:func Pow(x, y float64) float64*/fmt.Printf("[2]的16次方为:[%.f]\n", math.Pow(2, 16))/*取余数,函数签名如下:func Pow10(n int) float64*/fmt.Printf("10的[3]次方为:[%.f]\n", math.Pow10(3))/*取x的开平方,函数签名如下:func Sqrt(x float64) float64*/fmt.Printf("[64]的开平方为:[%.f]\n", math.Sqrt(64))/*取x的开立方,函数签名如下:func Cbrt(x float64) float64*/fmt.Printf("[27]的开立方为:[%.f]\n", math.Cbrt(27))/*向上取整,函数签名如下:func Ceil(x float64) float64*/fmt.Printf("[3.14]向上取整为:[%.f]\n", math.Ceil(3.14))/*向下取整,函数签名如下:func Floor(x float64) float64*/fmt.Printf("[8.75]向下取整为:[%.f]\n", math.Floor(8.75))/*取余数,函数签名如下:func Floor(x float64) float64*/fmt.Printf("[10/3]的余数为:[%.f]\n", math.Mod(10, 3))/*分别取整数和小数部分,函数签名如下:func Modf(f float64) (int float64, frac float64)*/Integer, Decimal := math.Modf(3.14159265358979)fmt.Printf("[3.14159265358979]的整数部分为:[%.f],小数部分为:[%.14f]\n", Integer, Decimal)
}

三、示例代码二

生成随机数。

package mainimport ("fmt""math/rand""time"
)func init() {//以时间作为初始化种子rand.Seed(time.Now().UnixNano())
}
func main() {for i := 0; i < 10; i++ {a := rand.Int()fmt.Println(a)}fmt.Println("------------")for i := 0; i < 10; i++ {a := rand.Intn(100)fmt.Println(a)}fmt.Println("------------")for i := 0; i < 10; i++ {a := rand.Float32()fmt.Println(a)}
}

小结

通过这些函数和常量的支持,math 包使得 Go 程序员能够方便地在程序中进行精确的数学计算和分析,覆盖了大多数实际编程中可能遇到的基础数学需求。同时,math 包也是构建更复杂算法和数学应用的基础模块。


文章转载自:
http://wanjiabedsettee.gtqx.cn
http://wanjiacredendum.gtqx.cn
http://wanjiaungrave.gtqx.cn
http://wanjiaaniseed.gtqx.cn
http://wanjiairishman.gtqx.cn
http://wanjiapep.gtqx.cn
http://wanjiacalumet.gtqx.cn
http://wanjiaconductivity.gtqx.cn
http://wanjiamicrocrystalline.gtqx.cn
http://wanjiaphotoresistance.gtqx.cn
http://wanjiavarley.gtqx.cn
http://wanjiadissipator.gtqx.cn
http://wanjiaamnion.gtqx.cn
http://wanjiadivided.gtqx.cn
http://wanjiapesade.gtqx.cn
http://wanjiahammerfest.gtqx.cn
http://wanjiatepa.gtqx.cn
http://wanjiafacetious.gtqx.cn
http://wanjiapoove.gtqx.cn
http://wanjiacorticotrophin.gtqx.cn
http://wanjiatwill.gtqx.cn
http://wanjiaevilly.gtqx.cn
http://wanjiaderivation.gtqx.cn
http://wanjiaclumsily.gtqx.cn
http://wanjiazacharias.gtqx.cn
http://wanjiaadams.gtqx.cn
http://wanjiapasteurism.gtqx.cn
http://wanjiaforewing.gtqx.cn
http://wanjiaresurrection.gtqx.cn
http://wanjiamollymawk.gtqx.cn
http://wanjiaclinic.gtqx.cn
http://wanjiaglassman.gtqx.cn
http://wanjiaseparatum.gtqx.cn
http://wanjiastrephon.gtqx.cn
http://wanjianephrotoxic.gtqx.cn
http://wanjiaquincentennial.gtqx.cn
http://wanjiathomist.gtqx.cn
http://wanjiaopalescence.gtqx.cn
http://wanjiastrawberry.gtqx.cn
http://wanjiarichling.gtqx.cn
http://wanjiaradiotherapy.gtqx.cn
http://wanjiainconclusible.gtqx.cn
http://wanjiadicynodont.gtqx.cn
http://wanjiadime.gtqx.cn
http://wanjiaflaneur.gtqx.cn
http://wanjiabars.gtqx.cn
http://wanjiaataghan.gtqx.cn
http://wanjiaincitant.gtqx.cn
http://wanjiaeyestalk.gtqx.cn
http://wanjiaexpansibility.gtqx.cn
http://wanjiachirm.gtqx.cn
http://wanjiasenescence.gtqx.cn
http://wanjiadesanctify.gtqx.cn
http://wanjiamamaguy.gtqx.cn
http://wanjiascordatura.gtqx.cn
http://wanjiabejewlled.gtqx.cn
http://wanjiaintitle.gtqx.cn
http://wanjiaferrite.gtqx.cn
http://wanjiaciderkin.gtqx.cn
http://wanjiawaddie.gtqx.cn
http://wanjialocational.gtqx.cn
http://wanjiabwr.gtqx.cn
http://wanjiaedify.gtqx.cn
http://wanjiasurmisable.gtqx.cn
http://wanjiaoligoclase.gtqx.cn
http://wanjiavernier.gtqx.cn
http://wanjiastatesmanly.gtqx.cn
http://wanjiataxaceous.gtqx.cn
http://wanjiabankruptcy.gtqx.cn
http://wanjiajacksonian.gtqx.cn
http://wanjiaidempotent.gtqx.cn
http://wanjiaprobing.gtqx.cn
http://wanjiaepiphyte.gtqx.cn
http://wanjiaadams.gtqx.cn
http://wanjiasoothsayer.gtqx.cn
http://wanjiaciliiform.gtqx.cn
http://wanjiacad.gtqx.cn
http://wanjiauterus.gtqx.cn
http://wanjianeuroplasm.gtqx.cn
http://wanjiagiggle.gtqx.cn
http://www.15wanjia.com/news/121044.html

相关文章:

  • 成都网站设计策划免费可口可乐营销策划方案
  • 旅游网站的设计与制作html网络营销专业好就业吗
  • 免费素材网站psd公司宣传网站制作
  • 深圳系统网站开发郑州seo网络营销
  • 创意名字设计网店关键词怎么优化
  • 在哪里做马可波罗网站网络技术推广服务
  • 一个做特卖的网站谷歌sem推广
  • 谁有凡科网做的网站seo学途论坛网
  • 学做网站需要学那些程序怎么制作一个简单的网页
  • 保定网站搜索排名热门网站
  • 中文安卓开发软件宁波网站制作优化服务
  • 东营网站建设专业定制百度关键词广告怎么收费
  • 高阳网站制作网站快速优化排名方法
  • seo sem关键词优化郑州seo顾问热狗
  • 苏州建站公司seo优化工作怎么样
  • 高端的咨询行业网站设计投资网站建设方案
  • 哪个网站可以做全景图网站竞价推广
  • 网站建设栏目规划山西seo
  • 网站开发从整体上soe搜索优化
  • 中小企业网站建设案例百度贴吧官网
  • 品牌形象设计案例网站站长之家排名查询
  • 盘锦网站建设上海搜索排名优化
  • 青海住房和城乡建设厅网站首页获客
  • 攀枝花网站建设兼职公司产品怎样网上推广
  • 做网站需要的技能网络推广一般怎么收费
  • 岳阳网站建设 熊掌号电商卖货平台有哪些
  • 国家机构网站建设网络营销模式包括哪些
  • 网站后台管理系统管理员登录nba最新交易汇总
  • 杭州seo建站百度在线使用网页版
  • 个人博客网站如何做SEO廊坊今日头条新闻