请解释uint32_t和0x1<< Apple SpriteKit示例代码中的0

时间:2013-11-26 12:32:33

标签: ios operators sprite-kit

我在SpriteKit的苹果示例代码中找到了几行

static const uint32_t missileCategory  =  0x1 << 0;

我知道static const是什么,但uint32_t是什么,0x1 << 0是什么意思?是某种十六进制吗?

1 个答案:

答案 0 :(得分:7)

<<bitwise left shift(乘以2)运算符。

<< 0*1

相同

所以等同的陈述是:

static const uint32_t missileCategory  =  0x1;

我在此here上写了更多内容。

例如:

0x1 << 4会返回0x10

看二进制文件:

00000001 << 4 = 00010000

Decimely发言这意味着1 * 2 * 2 * 2 * 21 * 2^4

由于这是uint32_t值,因此它实际上是

0x00000010