有人可以解释如何读取这两个位掩码吗?
uint32_t = 0x1 << 0;
uint32_t = 0x1 << 1;
基本上,您如何将此转换为无法读取代码的人?哪一个小于另一个?
答案 0 :(得分:2)
嗯,0x1只是十六进制值1,二进制表示为~001。当您将0位移位到0x1时,该值不会更改,因为您实际上没有移位任何内容。当您移动1时,您正在查看~010的表示,其中良好的数字是2,因为您在两列中有1并且在其他地方都为零。
因此,uint32_t i = 0x1 << 0;
的价值低于uint32_t j = 0x1 << 1;
。
uint32_t i = 0x1 << 0;
uint32_t j = 0x1 << 1;
NSLog(@"%u",i); // outputs 1
NSLog(@"%u",j); // outputs 2