【问题标题】:swift UInt32 0 or 0x0?快速 UInt32 0 还是 0x0?
【发布时间】:2016-08-03 18:30:38
【问题描述】:

在我看的所有教程中,当分配给 UInt32 时,我看到的数字为 0x0

self.physicsBody!.collisionBitMask = 0x0

为什么不

self.physicsBody!.collisionBitMask = 0

这是有原因的还是只是为了可读性?

【问题讨论】:

  • 完全没有区别。但是对于位掩码,0x0200可能比512更清晰,其他人更喜欢1 << 9。
  • 这是 ray wenderlich 的教程吗?我认为这只是作者的偏好。
  • 所以如果是 512,我假设它可以写成...1
  • 来自 Coursera 课程

标签: swift uint32


【解决方案1】:

0 和 0x0 之间没有区别,但它是这样写的,因为有问题的属性是一个位掩码,它可以更容易地以十六进制查看。可能在其他地方,其他值将被写为0x0010 等,所以为了保持一致性,他们选择写0x0。这是个人喜好,因此在您自己的代码中,可以随意使用十六进制、二进制甚至位移运算符 (1 << 3) — 任何有助于您理解常量以及它们作为位掩码交互的方式的方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多