
这个运算符是怎么计算的,
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
1 holinhot OP rt |
2 mason961125 2019 年 6 月 5 日 via iPhone 0011 = 3 0110 = 6 我寻思着,写代码不要学点计算机基础吗? |
3 yyfearth 2019 年 6 月 5 日 右移 左移 不知道么? 而且很多语言都这样写的啊 |
4 tomato1111 2019 年 6 月 5 日 位运算啊。。 |
5 BCy66drFCvk1Ou87 2019 年 6 月 5 日 via Android 可以这样记:左移 n 位等同于乘以 2 的 n 次幂 emmm 3*2=6 |
6 Citrus 2019 年 6 月 5 日 via iPhone 看标题我以为这个运算符有坑,进来一看。。。是我多虑了。 |
7 sulinehk 2019 年 6 月 5 日 via Android 我记得是有坑的 右移带符号的数 左边会补齐符号 |
8 araraloren 2019 年 6 月 5 日 这是基础中的基础吧。。 |
9 zonyitoo 2019 年 6 月 5 日 太可怕了,现在学写 Go 的都不用学任何的计算机基础了 |
10 skiy 2019 年 6 月 5 日 via Android 位运算了解一下,跟语言无关 |
11 wyntalgeer 2019 年 6 月 5 日 楼主发的贴……大概是把 V 站当狗哥了…… |
12 befovy 2019 年 6 月 5 日 搜了一下,好多 go 语言教程讲到操作符的时候,对位运算符一笔带过,初学者看到不懂的还是应该多在网上找找答案。 |
13 pagxir 2019 年 6 月 5 日 via Android 还以为<< >>是啥高级功能,居然跟 C 一个样,太意外了 |
14 nodwang @mason961125 如果是学的第一门语言,先跑起来,后补基础,也无所谓。 |
15 neoblackcap 2019 年 6 月 5 日 via iPhone @sulinehk 右移本来就是这样设计,算术右移了解一下 |
16 xkeyideal 2019 年 6 月 5 日 培训班严重拉低了程序员的门槛 |
17 darylc 2019 年 6 月 5 日 这点基础都不要了吗?写什么代码啊 |
18 mritd 2019 年 6 月 5 日 via iPhone 过分了 兄弟 |
19 zjyl1994 2019 年 6 月 5 日 左右移位运算啊,天那 |
20 dabaibai 2019 年 6 月 5 日 via iPhone 兄弟连基础都没学过吗? |
22 bwangel 2019 年 6 月 5 日 |
23 pmispig 2019 年 6 月 5 日 位移运算符在日常使用中频率非常低吧,感觉不会也正常 |
24 reus 2019 年 6 月 5 日 左移一位,等于乘以 2,3 乘以 2 就是 6 |
25 mason961125 2019 年 6 月 5 日 via iPhone @pmispig #23 看做什么了,如果和硬件强相关的话,应该会用到很多。 |
26 keepeye 2019 年 6 月 5 日 |
27 holinhot OP @mason961125 python php 用了很多年了 从没用过位移运算 |
28 salamanderMH 2019 年 6 月 5 日 位运算 |
30 amon 2019 年 6 月 5 日 不厚道地说一句,这水平用 go 可能用错了。。。 |
31 flxxy 2019 年 6 月 5 日 via Android 兄弟位运算符都没见过,怎么学的啊!! |