我在SpriteKit的苹果示例代码中找到了几行
static const uint32_t missileCategory = 0x1 << 0;
我知道static const
是什么,但uint32_t
是什么,0x1 << 0
是什么意思?是某种十六进制吗?
答案 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 * 2
或1 * 2^4
由于这是uint32_t
值,因此它实际上是
0x00000010