Ios 按位右移>&燃气轮机;在Objective-C中

Ios 按位右移>&燃气轮机;在Objective-C中,ios,objective-c,c,bit-manipulation,shift,Ios,Objective C,C,Bit Manipulation,Shift,我有一个变量(无符号int)part\u 1 如果我这样做: NSLog(@“%u%08x”,第1部分,第1部分)(打印无符号值和十六进制值)输出: 20635975687000000 (只有前两个有值) 我想把这个转换成 0000007b 所以我试过了 unsigned int part_1b=part_1>>6(以及许多变体) 但这会产生: 32243712 01ec0000 我哪里出错了?您希望移位6*4=24位,而不仅仅是6位。十六进制printf中的每个“0”表示4位 unsigned

我有一个变量(无符号int)
part\u 1

如果我这样做:
NSLog(@“%u%08x”,第1部分,第1部分)(打印无符号值和十六进制值)输出:

20635975687000000

(只有前两个有值)

我想把这个转换成

0000007b

所以我试过了
unsigned int part_1b=part_1>>6
(以及许多变体)

但这会产生:

32243712 01ec0000


我哪里出错了?

您希望移位6*4=24位,而不仅仅是6位。十六进制printf中的每个“0”表示4位

unsigned int part_1b = part_1 >> 24;
                                 ^^