go中位移操作符是二进制运算的吗?

代码如下:
package main

import "fmt"

func main() {

pow := make([]int, 10)
for i := range pow {
    pow[i] = 1 << uint(i)              //就是这里,1,10,100,1000……
}
for _, value := range pow {
    fmt.Printf("%d\n", value)
}

}
输出结果是
1
2
4
8
16
32
64
128
256
512

阅读 5.3k
1 个回答

位移当然是二进制运算,无论哪个语言都是啊,都是2^n啊。。
你要变成1,10,100....10000,那不能用位移啊,得用1*math.pow(10,i)啊。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题