什么<<在Swift语言中意味着什么?

时间:2015-03-31 17:21:28

标签: ios swift syntax

请有人向我解释一些奇怪的Swift语法,我试图谷歌并检查Apple的文档,但没有找到任何使用它的例子。 所以这里是我试图遵循的教程中的一些代码。 let FSBoundaryCategory: UInt32 = 1 << 0

我不知道<<的含义是什么。

它绝对不是两倍左右:) 请解释一下,我对它非常好奇:)

3 个答案:

答案 0 :(得分:6)

这是&#34;位移&#34;操作

也许苹果文档(goo.gl/DXVBJD)太复杂了。

但是,基本思路是初始位(1)表示为:00000000000000000000000000000001

如果将它从一位移位,则使用此语法0b10或此语法0x1&lt;&lt; 1位向左一个位置:00000000000000000000000000000010。您可以使用0b100或0x1&lt;&lt; 2等等......

以下是我为another question制作的表格,可能对您有所帮助: http://goo.gl/7D8EGY

答案 1 :(得分:2)

这是一个左按位移位运算符。您可以在Apple Docs here

了解更多相关信息

答案 2 :(得分:1)

现有位被请求的位数向左移动。在这种情况下,0意味着它不会改变,所以它什么都不做。

相关问题