Objective c 在下面的示例中读取位掩码和位

Objective c 在下面的示例中读取位掩码和位,objective-c,mask,bit,Objective C,Mask,Bit,有人能解释一下如何读这两位的面具吗 uint32_t = 0x1 << 0; uint32_t = 0x1 << 1; uint32\u t=0x1嗯,0x1只是1的十六进制值,二进制表示为~001。当您对0x1应用0位移位时,该值不变,因为您实际上没有移位任何内容。当你移动1时,你看到的是~010的一个表示,在好的ol'数字中是2,因为在twos列中有一个1,其他地方都有零 因此,uint32\u t i=0x1 uint32_t i = 0x1 << 0

有人能解释一下如何读这两位的面具吗

uint32_t = 0x1 << 0;
uint32_t = 0x1 << 1;

uint32\u t=0x1嗯,0x1只是1的十六进制值,二进制表示为~001。当您对0x1应用0位移位时,该值不变,因为您实际上没有移位任何内容。当你移动1时,你看到的是~010的一个表示,在好的ol'数字中是2,因为在twos列中有一个1,其他地方都有零

因此,
uint32\u t i=0x1
uint32_t i = 0x1 << 0;
uint32_t j = 0x1 << 1;

NSLog(@"%u",i);   // outputs 1
NSLog(@"%u",j);   // outputs 2