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

karl_zhao · · 10584 次点击
slclub
坚持就是胜利
二楼真理 去掉一位符号位,还省下63位 最大值是所有位都是1; 第一位1 为2的0次方 十进制 1 第二位1位2的1次方 十进制 2 。 。 。 第六十三位 是 2的62次方 这些所有的和就是 2的63次方 -1;这其实是一个求最大整数的公式 uint64 最大值,没有符号位,就是64位 2的64次方 -1
#4
更多评论
已找到一种方式,就是通过63bit的uint64转成int64,但是不清楚为什么 int64(math.Exp2(float64(64-1))-1) 这样不行?是Exp2内置行数的bug么?
#1
esverde
至乐活身,唯无为几存
标准库里有math.MaxInt64,是1<<63 - 1,参见链接https://pkg.go.dev/math#MaxInt64
#2