ios - 请在 Apple SpriteKit 示例代码中解释 uint32_t 和 0x1 << 0

标签 ios operators sprite-kit

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

static const uint32_t missileCategory  =  0x1 << 0;

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

最佳答案

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

<< 0*1相同

所以等效语句是:

static const uint32_t missileCategory  =  0x1;

我在这方面写了更多 here .

例如:

0x1 << 4会返回 0x10 .

看它的二进制:

00000001 << 4 = 00010000

十进制这意味着 1 * 2 * 2 * 2 * 21 * 2^4

因为这是 uint32_t实际值(value)

0x00000010

关于ios - 请在 Apple SpriteKit 示例代码中解释 uint32_t 和 0x1 << 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20217190/

相关文章:

ios - 动态地将嵌套参数添加到 Alamofire 参数中

ios - 使用动态字典创建可扩展 TableView

ios - Facebook 与 Swift 3 和 Swift SDK (0.2.0) 分享

c++ - <= 和 == 运算符无法正常工作以结束循环

java - 当使用 -- 运算符传递参数时会发生什么?

operators - 什么是原始 Forth 运算符?

ios - 标签中的图片(Swift)

ios - 无法为 tvOS 目标构建 Objective-C 模块 CoreMotion 错误

ios - 如何让物体动起来?

ios - 停止和继续 SKAction