请教下 golang 的>> <<运算符

2019-06-05 04:35:20 +08:00
 holinhot

这个运算符是怎么计算的,

https://play.golang.org/p/FQZY2TJ8cvC

package main

import "fmt" const chunkSize int64 = 1 << 24 const chunkSize2 int64 = 3 << 1 func main() {

fmt.Println("Hello, 世界")
fmt.Println(chunkSize)
fmt.Println(chunkSize2)

}

输出 Hello, 世界 16777216 6

3<<1 怎么得出的 6

3791 次点击
所在节点    Go 编程语言
31 条回复
Vegetable
2019-06-05 10:04:49 +08:00
@befovy 因为这玩意就没有讲解的必要.总不能把=-*/都教一遍吧.
bwangel
2019-06-05 10:42:56 +08:00
https://book.douban.com/subject/5333562/

老哥,向你推荐这本书。位运算以及数值的表示,第二章就有讲。
pmispig
2019-06-05 11:18:41 +08:00
位移运算符在日常使用中频率非常低吧,感觉不会也正常
reus
2019-06-05 12:22:28 +08:00
左移一位,等于乘以 2,3 乘以 2 就是 6
mason961125
2019-06-05 13:05:47 +08:00
@pmispig #23 看做什么了,如果和硬件强相关的话,应该会用到很多。
keepeye
2019-06-05 13:08:59 +08:00
https://www.google.com/search?q=%3C%3C%E8%BF%90%E7%AE%97%E7%AC%A6

一搜就有的答案,发帖子问不被喷才怪了~~
holinhot
2019-06-05 14:47:52 +08:00
@mason961125 python php 用了很多年了 从没用过位移运算
salamanderMH
2019-06-05 14:50:07 +08:00
位运算
holinhot
2019-06-05 14:50:44 +08:00
@HuasLeung 简单明了
amon
2019-06-05 14:54:53 +08:00
不厚道地说一句,这水平用 go 可能用错了。。。
flxxy
2019-06-05 15:15:03 +08:00
兄弟位运算符都没见过,怎么学的啊!!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/570959

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX