为了账号安全,请及时绑定邮箱和手机立即绑定

最小正 float64 值

最小正 float64 值

Go
慕神8447489 2022-06-21 16:08:06
就像这个问题一样,我需要一个尽可能接近零的正数,而不是零,但是在 Go 中。
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

该math包有一个用于此值和类似值的常量,只需使用它math.SmallestNonzeroFloat64::


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)

)

打印它的值:


fmt.Println(math.SmallestNonzeroFloat64)

输出(在Go Playground上尝试):


5e-324

(注意:由于包中的舍入,它大于常数fmt。)


查看完整回答
反对 回复 2022-06-21
  • 1 回答
  • 0 关注
  • 178 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信