关于 Golang 中的 “<<" 和 ">>”

在进行《A Tour of Go》这个教程网站时,出现了下面这种我不熟悉的描述方法,所以我进行了调查。

MaxInt uint64 = 1<<64 - 1

fmt.Printf("Value: %v", MaxInt)

从《A Tour of Go》的Basic types(11/17)摘录

「や」的意思是什么?

「<<や>>」是一种被称为”位运算符”的东西。
通过使用”位运算符”,可以将数字转换为二进制表示时,可以向左(<<)或向右(>>)位移。

1<<64 – 1的计算结果 (Yī shì 64 – 1 de

1 << 64 可以将1作为2进制数向左移动64位。
然后,将左移了64位的1转换成10进制,并计算-1的结果,得到的MaxInt值为18446744073709551615。

Value: 18446744073709551615

我参考了一篇文章。

Go语言中的 “>>” 表示什么意思?- teratail

广告
将在 10 秒后关闭
bannerAds