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