这个运算符是怎么计算的,
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 ![]() 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 BCy66drFCvk1Ou87 2019-06-05 07:35:30 +08:00 via Android ![]() 可以这样记:左移 n 位等同于乘以 2 的 n 次幂 emmm 3*2=6 |
![]() | 6 Citrus 2019-06-05 08:39:48 +08:00 via iPhone ![]() 看标题我以为这个运算符有坑,进来一看。。。是我多虑了。 |
![]() | 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 ![]() 太可怕了,现在学写 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 兄弟位运算符都没见过,怎么学的啊!! |