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