go指南数值常量问题

Ivosun · · 6062 次点击
A1: `<<`和`>>`是移位操作,分别是左移和右移,`1 << 100`即二进制1往左移100位,就是1后面100个0,也即2的100次方。 A2,Q3: Big的类型是float64,Big的值很大,因此Go会根据这个值的大小1267650600228229401496703205376来决定Big的类型,它的类型是float64类型,而不是int。int类型还和操作系统有关,64位是int64,32位是int32,不管是64位还是32位,这个大小都超过了int的最大值,因此Go判断其类型为float64。而`needInt`需要int参数,所以报错。
#1
更多评论
OctopusLian
熟能生巧,勤能补拙,念念不忘,必有回响。
左移100,右移99,所以Small的值为2。感谢楼上的讲解!
#2