2016-08-03 66 views
2

所有的教程我看看我看到的爲0x0的數量時,被分配到一個UInt32的swift UInt32 0或0x0?

self.physicsBody!.collisionBitMask =爲0x0

爲什麼不

self.physicsBody !.collisionBitMask = 0

是有原因還是隻是爲了可讀性?

+0

完全沒有區別。但對於一個掩碼,0x0200 *可能比512更清晰,其他人更喜歡'1 << 9'。 –

+0

這是來自ray wenderlich的教程嗎?我認爲這只是作者的偏好。 –

+0

所以在512的情況下,我認爲它可以寫成... 1 << 9,2^9,0x0200或任何等效的組合? –

回答

3

00x0沒什麼區別,但它編寫的方式,因爲在有關財產是一個位掩碼,它可以更容易看十六進制。可能在其他地方,其他值將被寫爲0x0010等,因此爲了一致性,他們選擇編寫0x0。這是個人偏好,所以在你自己的代碼中,可以隨意使用十六進制,二進制,甚至是位移運算符(1 << 3) - 無論你怎樣理解常量以及它們作爲位掩碼進行交互的方式。

相關問題