2015-03-31 56 views
0

请有人向我解释一些奇怪的Swift语法,我试着谷歌它并检查苹果的文档,但没有找到任何使用它的例子。 所以这里是我试图遵循的教程中的一些代码。我不明白<<是什么意思。<<在Swift语言中意味着什么?

这绝对不是一两次小于或如此:) 请解释,我很好奇吧:)

+2

这是位移位的运算符。 – SLaks 2015-03-31 17:22:03

+0

@SLaks相当快 – 2015-03-31 17:23:42

回答

5

这是“位移”操作符。

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

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

如果从一个位接班,即使用这种语法0b10或这一个为0x1 < < 1位去一个地方向左:00000000000000000000000000000010.您可以使用0b100时或为0x1两个地转向它< < 2,依此类推......

下面是我为another question做了一桌,可以帮助你太: http://goo.gl/7D8EGY

+0

@Ichamp感谢您的回应!我会试着去理解使用位移算符的方式,因为现在我不明白我应该使用它的原因。这可能听起来有点不方便,但我是一个非常初学者。 – pulp 2015-03-31 20:18:36

+0

一个常见的使用位的地方是游戏开发中的碰撞/接触位掩码。它很方便,因为你可以很容易地添加它们,例如:... 00001 + ... 00100会给你... 00101。关于移位运算符本身,在这里很有用,因为您可以轻松地编写该值(如上面链接的其他问题所示)。 _它可能在其他情况下使用,但我现在没有其他任何其他情况。无论如何,很高兴它帮助你:) – lchamp 2015-03-31 20:27:44

1

了解更多关于它的信息。现有的位向左移动所需的位数。在这种情况下,0意味着它不会改变,所以它什么也不做。

相关问题