什么(0 << 12)在Swift中意味着什么?

在文档中,我发现枚举案例定义为:
kCGBitmapByteOrderDefault = (0 << 12)

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

每个 Apple Doc for CGBitmapInfo:

The byte order constants specify the byte ordering of pixel formats.

…If the code is not written correctly,it’s possible to misread the data which leads to colors or alpha that appear wrong.

kCGBitmapByteOrder的各种常量主要映射到CGImageByteOrder中类似命名的常量,它没有“认值”.

这些值详见in the docs for CGImageByteOrderInfo

您询问的是认值,正如您所注意到的那样,位移0仍为0,但正如Rob所说,前面/后面的位仍然很重要.

您缺少的是其他选项:

kCGBitmapByteOrder16Little =(1 << 12)
16位小端格式.

kCGBitmapByteOrder32Little =(2<< 12)
32位小端格式.

kCGBitmapByteOrder16Big =(3<< 12)
16位,大端格式.

kCGBitmapByteOrder32Big =(4<< 12)
32位,大端格式.

它们使用不同的值,具体取决于16位与32位图像,以及您是否首先关注最小或最重要的数字.

认”(0<<<<<<<<<<<<<<<<<<< 12&gt使用这些其他选项对它们的解释方式与使用“认”的方式有不同的影响

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...