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

golang 在两个 uint 值上使用 math.max 的正确方法是什么?

golang 在两个 uint 值上使用 math.max 的正确方法是什么?

Go
白衣非少年 2021-09-13 14:40:20
这就是我所做的,它非常丑陋。使用math.Max2 uint 的正确方法是什么?vs.curView.Viewnum =uint(math.Max(float64(args.Viewnum+1), float64(vs.curView.Viewnum)))
查看完整描述

2 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

math.Max存在的主要原因是为了确保正确处理 IEEE 浮点的一些特殊情况(正无穷大和负无穷大,NaN以及带符号的零)。


这些问题与简单整数无关,因此您也可以使用明显的实现。就像是:


if args.Viewnum+1 > vs.curView.Viewnum {

    vs.curView.Viewnum = args.Viewnum+1

}


查看完整回答
反对 回复 2021-09-13
?
烙印99

TA贡献1829条经验 获得超13个赞

虽然问题很老,但也许这个包 会节省某人的时间和精力。go get像往常一样,它可以通过URL获取和导入。


用法:


import (

    "fmt"

    "<Full URL>/go-imath/ix" // Functions for int type

)

...

fmt.Println(ix.Max(100, 152)) // Output: 152

fmt.Println(ix.Maxs(234, 55, 180)) // Output: 234

fmt.Println(ix.MaxSlice([]int{2, 29, 8, -1})) // Output: 29


查看完整回答
反对 回复 2021-09-13
  • 2 回答
  • 0 关注
  • 243 浏览
慕课专栏
更多

添加回答

举报

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