gpt4 book ai didi

swift - (0 << 12) 在 Swift 中是什么意思?

转载 作者:搜寻专家 更新时间:2023-10-30 22:10:11 26 4
gpt4 key购买 nike

在文档中我发现一个枚举案例定义为:

kCGBitmapByteOrderDefault = (0 << 12)

据我所知,这意味着位移零 12 次...仍然是零。我错过了什么?

最佳答案

如果您查看所有相关值,您会看到:

kCGBitmapByteOrderMask     = kCGImageByteOrderMask,
kCGBitmapByteOrderDefault = (0 << 12),
kCGBitmapByteOrder16Little = kCGImageByteOrder16Little,
kCGBitmapByteOrder32Little = kCGImageByteOrder32Little,
kCGBitmapByteOrder16Big = kCGImageByteOrder16Big,
kCGBitmapByteOrder32Big = kCGImageByteOrder32Big

kCGBitmapByteOrderMask0x7000 (即移动超过 12 位后的三位;0b0111000000000000)。

所以 0 << 12只是一种非常明确的说法,“如果这些位在移动超过 12 位后为 0”。是的,0 << 12实际上是0 , 但它明确表示 kCGBitmapByteOrderDefault不当整CGBitmapInfo值为零(因为前 12 位中可能有其他有意义的非零数据),但前提是前 12 位之后的位为零。

所以,简而言之,<< 12在技​​术上不是必需的,但可以使意图更加明确。

关于swift - (0 << 12) 在 Swift 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47190830/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com