1. 首页
  2. 主题
  3. Go语言

请问如何得到int64的最大值?

karl_zhao · · 11069 次点击
今天下一个测试程序,遇到下面这个问题: 本意是通过下面获得int64的最大值: int64(math.Exp2(float64(64-1))-1) 但是,数值的结果却是-9223372036854775808。 请大佬赐教一下。 谢谢!
esverde
至乐活身,唯无为几存
标准库里有math.MaxInt64,是1<<63 - 1,参见链接https://pkg.go.dev/math#MaxInt64
#2
更多评论
已找到一种方式,就是通过63bit的uint64转成int64,但是不清楚为什么 int64(math.Exp2(float64(64-1))-1) 这样不行?是Exp2内置行数的bug么?
#1
搞清楚几个问题就好 1,math.Exp2返回的值是什么类型的 2,float64二进制下是怎么表示的?float64是不是有精度考虑,精度到多少
#3

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中